screwdriver
screwdriver copied to clipboard
New annotation for delayedJobs
What happened: Usecase:
Users want jobA
to trigger jobB
, and it can takes a lot of time after jobA
finished running (say ETL work to populate some data)
So users want jobB
to run after x amount of time after jobA
finished, say 60 mins, or even 2 hours.
Currently, user can create dummy jobs in between to make sure that
jobA -> jobDummy -> jobB
and jobDummy
does nothing more than sleep 60m
to wait.
What you expected to happen:
With new annotation delayedJobs: 60m
to help users to achieve:
say A finished at ta
time, and then triggers B, B has delayedJob
say set to 1hr, then B would be put on the queue with time to execute tb = ta + 60m
(similar to periodical jobs)
jobB
runs the same amount of times as jobA
runs
Additionally, with the annotation collapseBuilds
set, then jobB
will be debounced and will only run 1 time after the last jobA
finished running
How to reproduce it: n/a