[go: up one dir, main page]

Skip to content

Improve ability to track status of, timeout, and cancel group/project exports

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Proposal

I have a customer that has been struggling with long running exports and has some suggestions on how to improve:

They have a script that they run on a schedule to automatically export a set of groups and projects. If the script tries to kick off multiple project exports at the same time, occasionally exports that usually take seconds or minutes to run can hang up for several hours. They are not sure of the underlying issues that cause the exports to hang.

Export status. The status is available through the API, and the script uses the status to determine when the export can be downloaded, however there is no easy way for a user/admin to view the status without making a REST API call. It would be nice to see the status in the same area where the export can be kicked off in the settings, so you can see if the export is running or stuck in some other state.

Export timeout. There should be a shorter and preferably variable export timeout. If projects normally take 2-3 minutes to export it would be nice to set a timeout of a few minutes rather than waiting for several hours for the export to eventually finish or somehow get stopped internally.

Ability to cancel/kill export. Currently there is no way (that I know of) to cancel/kill a running export. Not even using the REST API. This becomes an issue up in the situation described above if an export hangs up for several hours. In the past we have had to wait until the next morning in order to try exporting again. It would be nice to be able to kill an export that is clearly taking longer than it should.

Workaround: running exports in serial rather than parallel seems to avoid the exports hanging. The script ensures that it waits a few seconds before kicking off imports and never has more than 10 imports running at a time. But they've had to drop that number to 1 at a time to avoid the above problems.

Edited by 🤖 GitLab Bot 🤖