Yes, this is a heartbeat...

I should probably note, that I see heartbeats here as something that happens every 20 mins or so. We can experiment with the timeout setting, but I my mind it is a long time out.
In most cases the worker shouldn't have to reclaim task, the timeout should be so high that having to reclaim is a corner case.

If we want to be able to detect worker crashes (or spot instances disappearing) faster, and retry tasks that failed soon than after say 20min, we should do that in a different way. Perhaps the provisioner would be better suited at monitoring its workers and informing the queue that all runs happening for a given `worker_id` and `provisioner_id` are not going to finish. Hence, tasks needs to be rescheduled, before expiration of `taken_until` have rendered the task pending again.

The `/claim` heartbeating is mainly to ensure eventual consistency. And make a faster instance death reporting mechanism easier to implement as such a mechanism won't have to consistent.