table of contents
Minion::Worker(3pm) | User Contributed Perl Documentation | Minion::Worker(3pm) |
NAME¶
Minion::Worker - Minion workerSYNOPSIS¶
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.commands¶
my $commands = $worker->commands; $worker = $worker->commands({jobs => sub {...}});
Registered worker remote control commands.
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.add_command¶
$worker = $worker->add_command(jobs => sub {...});
Register a worker remote control command.
$worker->add_command(foo => sub { my ($worker, @args) = @_; ... });
dequeue¶
my $job = $worker->dequeue(0.5); my $job = $worker->dequeue(0.5 => {queues => ['important']});
Wait a given amount of time in seconds for a job, dequeue Minion::Job object and transition from "inactive" to "active" state, or return "undef" if queues were empty.
These options are currently available:
- queues
-
queues => ['important']
One or more queues to dequeue jobs from, defaults to "default".
info¶
my $info = $worker->info;
Get worker information.
# Check worker host my $host = $worker->info->{host};
These fields are currently available:
- host
-
host => 'localhost'
Worker host.
- jobs
-
jobs => ['10023', '10024', '10025', '10029']
Ids of jobs the worker is currently processing.
- notified
-
notified => 784111777
Epoch time worker sent the last heartbeat.
- pid
-
pid => 12345
Process id of worker.
- started
-
started => 784111777
Epoch time worker was started.
process_commands¶
$worker = $worker->process_commands;
Process worker remote control commands.
register¶
$worker = $worker->register;
Register worker or send heartbeat to show that this worker is still alive.
unregister¶
$worker = $worker->unregister;
Unregister worker.
SEE ALSO¶
Minion, Mojolicious::Guides, <http://mojolicious.org>.2017-01-04 | perl v5.24.1 |