Page MenuHomePhabricator

Add indicator to see if a queued task is dead on not on IA-upload
Open, MediumPublic

Description

At the moment, tasks that have failed are still shown as pending, but if we can see that they've hung we should display this in the job queue.

How do we know if a task is dead?

Event Timeline

Samwilson triaged this task as Medium priority.May 25 2017, 11:32 AM
Samwilson edited projects, added IA Upload; removed All-and-every-Wikisource.
Samwilson updated the task description. (Show Details)

Also, long dead tasks (e.g. CRITICAL errors) should die on themselves, for allowing to retry later on

For tasks that failed, it would be nice to have a sign indicating the state, and proposing to retry when possible, or to cancel and remove the task when the cause is a file missing on IA (I've seen quite a lot of these).

Thanks for improving this very useful tool :)

Would it be enough to add 'retry' and 'remove' buttons to each job? That could be used by anyone (i.e. even people who didn't submit them)?

@Hsarrazin: for the ones missing on IA, this should be caught before the job is even saved to the queue (e.g.). Is it that the items are being deleted subsequent to the job being created?

Should we just purge jobs that are older than some number of days?

Yes, jobs could be purged after 7/15 days when failing; an email to uploader when IA Uploader fails will help. Perhaps immediate purging of successful uploads could be replaced with a brief persistence (1 hour) of item with a message "successful upload" and with a link for djvu download (sometimes djvu resulting from IA files need some manipulation, even when upload is perfect.

It would be nice if the jobs metadata and the logs were kept longer. That said all jobs should have a master timeout and die that makes them all end up in the completed/aborted bucket. That bucket can then be cleaned after a longer period. This allows one to manually retry jobs by clicking a button on the aborted ones if one can ascertain from the logs that the error was somehow temporal.