From 5bf532e8b4fb52b943f17a3b0c4ced174736d528 Mon Sep 17 00:00:00 2001 From: Peder Stray Date: Mon, 5 Oct 2020 19:33:54 +0200 Subject: [PATCH 1/2] Add message on job failed to when running minion worker --- lib/Minion/Command/minion/worker.pm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/Minion/Command/minion/worker.pm b/lib/Minion/Command/minion/worker.pm index 3aa19a72..881e9533 100644 --- a/lib/Minion/Command/minion/worker.pm +++ b/lib/Minion/Command/minion/worker.pm @@ -22,11 +22,24 @@ sub run { my $log = $self->app->log; $log->info("Worker $$ started"); - $worker->on(dequeue => sub { pop->once(spawn => \&_spawn) }); + $worker->on(dequeue => \&_dequeue); $worker->run; $log->info("Worker $$ stopped"); } +sub _dequeue { + my($worker,$job) = @_; + $job->once(failed => \&_failed); + $job->once(spawn => \&_spawn); +} + +sub _failed { + my($job, $error) = @_; + my($id, $task) = ($job->id, $job->task); + $error =~ s/\n//; + $job->app->log->debug(qq{Job "$id", task "$task" failed: $error}); +} + sub _spawn { my ($job, $pid) = @_; my ($id, $task) = ($job->id, $job->task); From 8b47fbf4ffcfc8a1f05cd4c4b85682bd234d8318 Mon Sep 17 00:00:00 2001 From: Peder Stray Date: Mon, 5 Oct 2020 20:24:31 +0200 Subject: [PATCH 2/2] Remove _dequeue, fix some spacing --- lib/Minion/Command/minion/worker.pm | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/lib/Minion/Command/minion/worker.pm b/lib/Minion/Command/minion/worker.pm index 881e9533..72d6e6f0 100644 --- a/lib/Minion/Command/minion/worker.pm +++ b/lib/Minion/Command/minion/worker.pm @@ -22,22 +22,19 @@ sub run { my $log = $self->app->log; $log->info("Worker $$ started"); - $worker->on(dequeue => \&_dequeue); + $worker->on(dequeue => sub { + $_[1]->once(failed => \&_failed); + $_[1]->once(spawn => \&_spawn); + }); $worker->run; $log->info("Worker $$ stopped"); } -sub _dequeue { - my($worker,$job) = @_; - $job->once(failed => \&_failed); - $job->once(spawn => \&_spawn); -} - sub _failed { - my($job, $error) = @_; - my($id, $task) = ($job->id, $job->task); - $error =~ s/\n//; - $job->app->log->debug(qq{Job "$id", task "$task" failed: $error}); + my($job, $error) = @_; + my($id, $task) = ($job->id, $job->task); + $error =~ s/\n//; + $job->app->log->debug(qq{Job "$id", task "$task" failed: $error}); } sub _spawn {