HomePhabricator

Allow tasks to yield to other tasks

Description

Allow tasks to yield to other tasks

Summary:
For Harbormaster tasks which want to poll or wait, this lets them say "try again a little later" without having to sleep and hold a queue slot.

This is basically the same as failing, except that we don't increment the failure counter. Instead, we just set the current lease to the correct length and then exit. The task will be retried after the lease expires.

Test Plan: Using both bin/harbormaster and phd debug taskmaster, ran a lot of waiting tasks through the queue, faking them to either yield or not yield in a controlled manner. The queue responded as expected, yielding tasks appropraitely and retrying them later.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Differential Revision: https://secure.phabricator.com/D8792

Details

Provenance
epriestleyAuthored on
epriestleyPushed on Apr 16 2014, 8:02 PM
Reviewer
btrahan
Differential Revision
D8792: Allow tasks to yield to other tasks
Parents
rPafd04731ab1f: Add a "Create build step" transaction to Harbormaster
Branches
Unknown
Tags
Unknown

Event Timeline