Kevin-Command-kevin

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

    [prereqs]
    - Require 9.00+
    - Require Role::Tiny 2.000005+

    [maint]
    - Get rid of files mistakenly included in v0.7

v0.6     2018-03-12 15:21:58-07:00 America/Los_Angeles

    [Minion 8.08]
    - Added busy and wait events to Minion::Worker
    - Added dequeue_timeout option to run method in Minion::Worker
    - Added -D option to worker command

v0.5.5     2017-12-20 14:14:14-08:00 America/Los_Angeles

    [internal]
    - $worker->_ping(): allows override for extended health-check updates
    - $worker->_run_defaults()

v0.5.4     2017-12-20 09:18:58-08:00 America/Los_Angeles

lib/Minion/Worker/Role/Kevin.pm  view on Meta::CPAN


  # Check if jobs are finished
  my $jobs = $self->{jobs} ||= {};
  $jobs->{$_}->is_finished and ++$status->{performed} and delete $jobs->{$_}
    for keys %$jobs;

  # Return if worker is finished
  ++$self->{finished} and return if $self->{stopping} && !keys %{$self->{jobs}};

  # Job limit has been reached or worker is stopping
  return $self->emit('busy')
    if ($status->{jobs} <= keys %$jobs) || $self->{stopping};

  # Try to get more jobs
  my ($max, $queues) = @{$status}{qw(dequeue_timeout queues)};
  if (my $job = $self->emit('wait')->dequeue($max => {queues => $queues})) {
    $jobs->{my $id = $job->id} = $job->start;
    my ($pid, $task) = ($job->pid, $job->task);
    $log->debug(qq{Process $pid is performing job "$id" with task "$task"});
  }
}



( run in 0.229 second using v1.01-cache-2.11-cpan-87723dcf8b7 )