Background tasks

Some operations take too long to make you wait for them: importing a problem, retesting every submission for a contest problem, rebuilding a scoreboard, sending a newsletter. The console queues these as tasks, hands you back the screen, and reports progress on the Tasks page at /<space>/tasks.

There's no sidebar entry for it. You reach it by its address, and the same list narrowed to a single object appears as the Activity tab of a problem or a contest. When something is running against a problem or contest you're looking at, an alert on that screen links straight to it.

What ends up here

Task

Started by

Import problem

Importing from Polygon, Basecamp or another space

Translate statements, Translate editorials

Translating a problem's text

Retest problem

Retesting a contest problem in bulk

Rebuild scoreboard, Add contest to scoreboard, Rebuild combined scoreboard

Scoreboard maintenance

Check for plagiarism

Checking a contest or a participant for cheating

Translate page, Translate post, Translate newsletter

Translating content

Send newsletter, Import recipients

Newsletter work

Reading the list

Each row is one task: what it was, the object it belongs to, its status, how far it has got, and when it started and finished. A task that reports a total shows progress as completed units out of that total; one that doesn't know its total shows no progress until it finishes.

You can filter by status and by task type.

Statuses

Status

Meaning

Pending

Queued, not picked up yet.

Running

Executing now.

Complete

Finished successfully.

Failed

Finished with an error, after using up its retry attempts.

Expired

Did not finish in the time allowed, and won't be retried.

Cancelled

Stopped before it completed.

A task retries by itself before it gives up, so a brief hiccup never reaches you — anything you see as Failed has already been tried more than once.

When a task fails

The short error is on the task row. The detail is in the log: Download logs opens the task's execution log in a new tab, for tasks that produced one.

There's no retry or cancel button. To run a failed task again, trigger the operation again from the screen that created it — re-run the import, retest the problem, rebuild the scoreboard. Starting it again is the retry.

If it fails a second time with the same error, the log is what to send us when you get in touch, along with what you were importing or retesting.