NAME
Minion::Worker - Minion worker
SYNOPSIS
use Minion::Worker;
my $worker = Minion::Worker->new(minion => $minion);
DESCRIPTION
Minion::Worker performs jobs for Minion.
EVENTS
Minion::Worker inherits all events from Mojo::EventEmitter and can emit the following new ones.
dequeue
$worker->on(dequeue => sub {
my ($worker, $job) = @_;
...
});
Emitted in the worker process after a job has been dequeued.
$worker->on(dequeue => sub {
my ($worker, $job) = @_;
my $id = $job->id;
say "Job $id has been dequeued.";
});
ATTRIBUTES
Minion::Worker implements the following attributes.
id
my $id = $worker->id;
$worker = $worker->id($id);
Worker id.
minion
my $minion = $worker->minion;
$worker = $worker->minion(Minion->new);
Minion object this worker belongs to.
METHODS
Minion::Worker inherits all methods from Mojo::EventEmitter and implements the following new ones.
dequeue
my $job = $worker->dequeue(0.5);
Wait for job, dequeue Minion::Job object and transition from inactive
to active
state or return undef
if queue was empty.
info
my $info = $worker->info;
Get worker information.
# Check worker host
my $host = $worker->info->{host};
These fields are currently available:
- host
-
Worker host.
- jobs
-
Ids of jobs the worker is currently processing.
- notified
-
Last time worker sent a heartbeat.
- pid
-
Process id of worker.
- started
-
Time worker was started.
register
$worker = $worker->register;
Register worker or send heartbeat to show that this worker is still alive.
unregister
$worker = $worker->unregister;
Unregister worker.