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

NAME

Mojolicious::Plugin::Minion - Minion job queue plugin

SYNOPSIS

  # Mojolicious (choose a backend)
  $self->plugin(Minion => {File  => '/Users/sri/minion.data'});
  $self->plugin(Minion => {Mango => 'mongodb://127.0.0.1:27017'});

  # Mojolicious::Lite (choose a backend)
  plugin Minion => {File  => '/Users/sri/minion.data'};
  plugin Minion => {Mango => 'mongodb://127.0.0.1:27017'};

  # Add tasks to your application
  app->minion->add_task(slow_log => sub {
    my ($job, $msg) = @_;
    sleep 5;
    $job->app->log->debug(qq{Received message "$msg".});
  });

  # Start jobs from anywhere in your application (data gets BSON serialized)
  $c->minion->enqueue(slow_log => ['test 123']);

  # Perform jobs in your tests
  $t->get_ok('/start_slow_log_job')->status_is(200);
  $t->get_ok('/start_another_job')->status_is(200);
  $t->app->minion->perform_jobs;

DESCRIPTION

Mojolicious::Plugin::Minion is a Mojolicious plugin for the Minion job queue.

HELPERS

Mojolicious::Plugin::Minion implements the following helpers.

minion

  my $minion = $app->minion;
  my $minion = $c->minion;

Get Minion object for application.

  # Add job to the queue
  $c->minion->enqueue(foo => ['bar', 'baz']);

  # Perform jobs for testing
  $app->minion->perform_jobs;

METHODS

Mojolicious::Plugin::Minion inherits all methods from Mojolicious::Plugin and implements the following new ones.

register

  $plugin->register(Mojolicious->new, {Mango => 'mongodb://127.0.0.1:27017'});

Register plugin in Mojolicious application.

SEE ALSO

Minion, Mojolicious::Guides, http://mojolicio.us.