Hook up the retryable tasks with hydra-notify

This commit is contained in:
Graham Christensen
2021-08-26 21:53:51 -04:00
parent c0e86faa78
commit ea3ae0693e
3 changed files with 11 additions and 2 deletions

View File

@ -101,10 +101,12 @@ for my $build ($db->resultset('Builds')->search(
$task_dispatcher->dispatch_event($event);
}
my $taskretries = $db->resultset('TaskRetries');
# Process incoming notifications.
while (!$queued_only) {
$prom->inc("event_loop_iterations");
my $messages = $listener->block_for_messages();
my $messages = $listener->block_for_messages($taskretries->get_seconds_to_next_retry());
while (my $message = $messages->()) {
$prom->set("event_received", time());
my $channelName = $message->{"channel"};
@ -128,4 +130,10 @@ while (!$queued_only) {
print STDERR "error processing message '$payload' on channel '$channelName': $@\n";
}
}
my $task = $taskretries->getRetryableTask();
if (defined($task)) {
$task_dispatcher->dispatchTask($task);
}
}