{"id":14128478,"url":"https://github.com/mojolicious/minion","last_synced_at":"2025-12-18T11:04:47.074Z","repository":{"id":15454827,"uuid":"18187848","full_name":"mojolicious/minion","owner":"mojolicious","description":":octopus: Perl high performance job queue","archived":false,"fork":false,"pushed_at":"2024-09-21T13:53:47.000Z","size":5846,"stargazers_count":229,"open_issues_count":19,"forks_count":58,"subscribers_count":39,"default_branch":"main","last_synced_at":"2025-04-02T04:04:59.885Z","etag":null,"topics":["job-queue","mojolicious","perl","postgresql"],"latest_commit_sha":null,"homepage":"https://metacpan.org/release/Minion","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mojolicious.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-03-27T19:05:37.000Z","updated_at":"2025-03-01T16:20:44.000Z","dependencies_parsed_at":"2024-05-02T03:08:31.209Z","dependency_job_id":"811ef596-d74d-485c-bc1d-70af54f22a2f","html_url":"https://github.com/mojolicious/minion","commit_stats":{"total_commits":1063,"total_committers":17,"mean_commits":"62.529411764705884","dds":"0.027281279397930347","last_synced_commit":"23e15b30685d7bfc91c285568d4c79dc2decefb1"},"previous_names":[],"tags_count":164,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mojolicious%2Fminion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mojolicious%2Fminion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mojolicious%2Fminion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mojolicious%2Fminion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mojolicious","download_url":"https://codeload.github.com/mojolicious/minion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247755225,"owners_count":20990615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["job-queue","mojolicious","perl","postgresql"],"created_at":"2024-08-15T16:01:45.398Z","updated_at":"2025-12-18T11:04:41.548Z","avatar_url":"https://github.com/mojolicious.png","language":"Perl","funding_links":[],"categories":["Perl"],"sub_categories":[],"readme":"\n![Screenshot](https://raw.github.com/mojolicious/minion/main/examples/admin.png?raw=true)\n\n[![](https://github.com/mojolicious/minion/workflows/linux/badge.svg)](https://github.com/mojolicious/minion/actions)\n\nA high performance job queue for the Perl programming language. Also available for [Node.js](https://github.com/mojolicious/minion.js).\n\nMinion comes with support for multiple named queues, priorities, high priority fast lane, delayed jobs, job\ndependencies, job progress, job results, retries with backoff, rate limiting, unique jobs, expiring jobs, statistics,\ndistributed workers, parallel processing, autoscaling, remote control, [Mojolicious](https://mojolicious.org) admin ui,\nresource leak protection and multiple backends (such as [PostgreSQL](https://www.postgresql.org)).\n\nJob queues allow you to process time and/or computationally intensive tasks in background processes, outside of the\nrequest/response lifecycle of web applications. Among those tasks you'll commonly find image resizing, spam filtering,\nHTTP downloads, building tarballs, warming caches and basically everything else you can imagine that's not super fast.\n\n```perl\nuse Mojolicious::Lite -signatures;\n\nplugin Minion =\u003e {Pg =\u003e 'postgresql://postgres@/test'};\n\n# Slow task\napp-\u003eminion-\u003eadd_task(slow_log =\u003e sub ($job, $msg) {\n  sleep 5;\n  $job-\u003eapp-\u003elog-\u003edebug(qq{Received message \"$msg\"});\n});\n\n# Perform job in a background worker process\nget '/log' =\u003e sub ($c) {\n  $c-\u003eminion-\u003eenqueue(slow_log =\u003e [$c-\u003eparam('msg') // 'no message']);\n  $c-\u003erender(text =\u003e 'Your message will be logged soon.');\n};\n\napp-\u003estart;\n```\n\n  Just start one or more background worker processes in addition to your web server.\n\n    $ ./myapp.pl minion worker\n\n## Installation\n\n  All you need is a one-liner, it takes less than a minute.\n\n    $ curl -L https://cpanmin.us | perl - -M https://cpan.metacpan.org -n Minion\n\n  We recommend the use of a [Perlbrew](http://perlbrew.pl) environment.\n\n## Want to know more?\n\n  Take a look at our excellent [documentation](https://mojolicious.org/perldoc/Minion/Guide)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmojolicious%2Fminion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmojolicious%2Fminion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmojolicious%2Fminion/lists"}