The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Minion::Command::minion::worker - Minion worker command

SYNOPSIS

  Usage: APPLICATION minion worker [OPTIONS]

    ./myapp.pl minion worker
    ./myapp.pl minion worker -m production -I 15 -C 5 -R 3600 -j 10
    ./myapp.pl minion worker -q important -q default

  Options:
    -C, --command-interval <seconds>     Worker remote control command interval,
                                         defaults to 10
    -h, --help                           Show this summary of available options
        --home <path>                    Path to home directory of your
                                         application, defaults to the value of
                                         MOJO_HOME or auto-detection
    -I, --heartbeat-interval <seconds>   Heartbeat interval, defaults to 60
    -j, --jobs <number>                  Number of jobs to perform
                                         concurrently, defaults to 4
    -m, --mode <name>                    Operating mode for your application,
                                         defaults to the value of
                                         MOJO_MODE/PLACK_ENV or "development"
    -q, --queue <name>                   One or more queues to get jobs from,
                                         defaults to "default"
    -R, --repair-interval <seconds>      Repair interval, defaults to 21600
                                         (6 hours)

DESCRIPTION

Minion::Command::minion::worker starts a Minion worker. You can have as many workers as you like.

SIGNALS

The Minion::Command::minion::worker process can be controlled at runtime with the following signals.

INT, TERM

Stop gracefully after finishing the current jobs.

QUIT

Stop immediately without finishing the current jobs.

REMOTE CONTROL COMMANDS

The Minion::Command::minion::worker process can be controlled at runtime with the following remote control commands.

jobs

  $ ./myapp.pl minion job -b jobs -a '[10]'
  $ ./myapp.pl minion job -b jobs -a '[10]' 23

Change the number of jobs to perform concurrently. Setting this value to 0 will effectively pause the worker. That means all current jobs will be finished, but no new ones accepted, until the number is increased again.

stop

  $ ./myapp.pl minion job -b stop -a '[10025]'
  $ ./myapp.pl minion job -b stop -a '[10025]' 23

Stop a job that is currently being performed immediately.

ATTRIBUTES

Minion::Command::minion::worker inherits all attributes from Mojolicious::Command and implements the following new ones.

description

  my $description = $worker->description;
  $worker         = $worker->description('Foo');

Short description of this command, used for the command list.

usage

  my $usage = $worker->usage;
  $worker   = $worker->usage('Foo');

Usage information for this command, used for the help screen.

METHODS

Minion::Command::minion::worker inherits all methods from Mojolicious::Command and implements the following new ones.

run

  $worker->run(@ARGV);

Run this command.

SEE ALSO

Minion, Mojolicious::Guides, http://mojolicious.org.