Skip to content

Add heartbeat endpoint #23

Description

@hannahwhy

This is related to #10.

There are many ways that a pipeline can fail its assigned task. Here are some examples:

  1. Coding error in the pipeline
  2. Unexpected response from a download target (e.g. unhandled 4xx/5xx errors that end up in retry loops, aborts, item failures)
  3. Unclean shutdown (warriors on laptops going to sleep, ^C on manually-run pipelines, power failures, ...)

While we cannot know how long an item will take to complete, we can know whether or not an assignee is still working on an item. We can add a heartbeat to the pipeline that periodically reports liveness back to a tracker. The tracker can use this information to fail items that have gone without a heartbeat for too long.

(This could supercede #10 if we're willing to live with failed items eventually going to a failed queue rather than immediately.)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions