expqueue
Available since Exponential 6.0.15 (in development, not in a release yet).
Summary
A generic, database-backed job queue for Exponential: seven priority classes with fair (stride) scheduling, aging and a starvation guard, per-user and per-site quotas, per-resource concurrency limits that adapt to rate-limit hints, leases with a reaper, retries with exponential backoff and jitter, a dead letter, idempotency keys, job groups, a result checkpoint for handlers, workers for the command line, cron and systemd, an admin dashboard and a command line interface. Works on MySQL/MariaDB, PostgreSQL, SQLite, Oracle and MongoDB.
Properties
| Property | Value |
|---|---|
| Directory | extension/expqueue |
| Name | Exponential job queue (expqueue) |
| Version | 0.1.10 |
| License | GNU General Public License v2.0 (or any later version) |
| Website | https://github.com/se7enxweb/expqueue |
Module expqueue
The admin module "expqueue" (Setup > Job queue): the dashboard, the job list, a job, a group, and the actions (pause/resume, cancel, requeue, a test job) which are POST only and checked by ezformtoken.
| View | Parameters | Policy | Summary |
|---|---|---|---|
| action | - | expqueue/manage | expqueue/action: the controls of the admin pages (POST only; ezformtoken checks the form token, the policy expqueue/manage is required by ... |
| dashboard | - | expqueue/view | expqueue/dashboard: the queue at a glance (the same report as ./console ext:expqueue:status). |
| group | UUID, (offset) | expqueue/view | expqueue/group/<uuid>: a job group with its progress and its jobs. |
| job | UUID | expqueue/view | expqueue/job/<uuid>: one job with its parameters (masked, shortened), result, checkpoint and history. |
| list | (state), (class), (type), (resource), (group), (offset) | expqueue/view | expqueue/list: the jobs, newest first, filtered by view parameters (state, class, type, resource, group). |
Policy functions: manage; view.
Source: extension/expqueue/modules/expqueue/module.php
Settings files
| File | Groups |
|---|---|
| extension/expqueue/settings/audit.ini.append.php | [AuditEventSettings] |
| extension/expqueue/settings/cronjob.ini.append.php | [CronjobSettings], [CronjobPart-expqueue] |
| extension/expqueue/settings/design.ini.append.php | [ExtensionSettings], [StylesheetSettings], [JavaScriptSettings] |
| extension/expqueue/settings/expqueue.ini.append.php | [QueueSettings], [QueueClass_interactive], [QueueClass_editorial], [QueueClass_chain], [QueueClass_translation_patch], [QueueClass_translation_full], [QueueClass_bulk], [QueueClass_system], [QueueQuotas], [QueueRules], [ResourceSettings], [WorkerSettings], [ServiceSettings], [AdminSettings], [JobType_expqueue.noop], [JobType_expqueue.sleep], [JobType_expqueue.fail] |
| extension/expqueue/settings/menu.ini.append.php | [Leftmenu_setup] |
| extension/expqueue/settings/module.ini.append.php | [ModuleSettings] |
| extension/expqueue/settings/rad.ini.append.php | [RegistrySettings], [Registry_expqueue_job_types], [Registry_expqueue_job_type_classes], [Registry_expqueue_classes], [Registry_expqueue_resources], [Registry_expqueue_commands] |
| extension/expqueue/settings/site.ini.append.php | [RegionalSettings] |
Source
extension/expqueue (extension.xml, ezinfo.php, modules/*/module.php, modules/*/function_definition.php, autoloads/eztemplateautoload.php, datatypes/, eventtypes/, settings/)
Added to the reference for Exponential 6.0.15.
Contributors
- Graham Brookins Updated
Comments
Add a comment