• Stars
    star
    223
  • Rank 177,096 (Top 4 %)
  • Language
    Perl
  • License
    Artistic License 2.0
  • Created over 10 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🐙 Perl high performance job queue

Screenshot

A high performance job queue for the Perl programming language. Also available for Node.js.

Minion comes with support for multiple named queues, priorities, high priority fast lane, delayed jobs, job dependencies, job progress, job results, retries with backoff, rate limiting, unique jobs, expiring jobs, statistics, distributed workers, parallel processing, autoscaling, remote control, Mojolicious admin ui, resource leak protection and multiple backends (such as PostgreSQL).

Job queues allow you to process time and/or computationally intensive tasks in background processes, outside of the request/response lifecycle of web applications. Among those tasks you'll commonly find image resizing, spam filtering, HTTP downloads, building tarballs, warming caches and basically everything else you can imagine that's not super fast.

use Mojolicious::Lite -signatures;

plugin Minion => {Pg => 'postgresql://postgres@/test'};

# Slow task
app->minion->add_task(slow_log => sub ($job, $msg) {
  sleep 5;
  $job->app->log->debug(qq{Received message "$msg"});
});

# Perform job in a background worker process
get '/log' => sub ($c) {
  $c->minion->enqueue(slow_log => [$c->param('msg') // 'no message']);
  $c->render(text => 'Your message will be logged soon.');
};

app->start;

Just start one or more background worker processes in addition to your web server.

$ ./myapp.pl minion worker

Installation

All you need is a one-liner, it takes less than a minute.

$ curl -L https://cpanmin.us | perl - -M https://cpan.metacpan.org -n Minion

We recommend the use of a Perlbrew environment.

Want to know more?

Take a look at our excellent documentation!

More Repositories

1

mojo

✨ Mojolicious - Perl real-time web framework
Perl
2,656
star
2

mojo.js

🦄 The Mojolicious real-time web framework for Node.js
JavaScript
484
star
3

mojo-pg

Mojolicious ❤️ PostgreSQL
Perl
101
star
4

mojolicious.org

🍪 Mojolicious Website
CSS
32
star
5

mojo-assetpack

🚜 Compress and convert CSS, Less, Sass and JavaScript files
Perl
30
star
6

mojo-status

🐳 Mojolicious server status
Perl
29
star
7

Mojo-AsyncAwait

🙀 An Async/Await implementation for Mojolicious
Perl
21
star
8

dom.js

🔮 A fast and very small HTML/XML DOM parser with CSS selectors
JavaScript
20
star
9

pg.js

mojo.js ❤️ PostgreSQL
JavaScript
15
star
10

minion.js

🐎 Node.js high performance job queue
JavaScript
14
star
11

vscode-mojo

🔧 VS Code support for Mojolicious
14
star
12

path.js

🏕️ Convenient container class for file system paths.
TypeScript
12
star
13

template.js

⚡ A very fast embedded JavaScript template engine
JavaScript
11
star
14

server-starter

💫 Superdaemon
JavaScript
8
star
15

sql-abstract-pg

🐘 PostgreSQL features for SQL::Abstract
Perl
5
star
16

mojo-plugin-ejs

🚧 mojo.js plugin example
JavaScript
5
star
17

mojo-plugin-nunjucks

🚧 mojo.js plugin example (TypeScript)
TypeScript
3
star
18

mojojs.org

💥 mojo.js website
CSS
3
star
19

create-full-app

🐰 Create a full mojo.js app
JavaScript
3
star
20

sql.js

🏗️ Safely generate SQL statements with tagged template literals
JavaScript
3
star
21

vscode-mojo.js

🎭 VS Code support for mojo.js
2
star
22

create-lite-app

🐭 Create a single file mojo.js app
JavaScript
2
star
23

mojo-plugin-middleware

🪂 Express.js middleware support for mojo.js
1
star
24

user-agent.js

Experimental next gen user-agent
JavaScript
1
star
25

util.js

🔨 Just some utilities
JavaScript
1
star