onebip / recruiter
Job Queue Manager: high performance, high volume, persistent, fault tolerant. 100% PHP/MongoDB, 100% Awesome
Installs: 9 862
Dependents: 0
Suggesters: 0
Security: 0
Stars: 25
Watchers: 13
Forks: 4
Open Issues: 5
Type:project
Requires
- php: >=5.6
- alcaeus/mongo-php-adapter: ^1.1
- gabrielelana/byte-units: ~0.1
- onebip/onebip-array: dev-master
- onebip/onebip-concurrency: dev-master
- psr/log: 1.0.0
- symfony/event-dispatcher: 2.*
- ulrichsg/getopt-php: ~2.1
Requires (Dev)
- giorgiosironi/eris: dev-master
- phpunit/phpunit: ~4.0
Suggests
- symfony/console: In order to use Recruiter\Command\RecruiterJobCommand.
- dev-master
- dev-ubuntu20
- dev-jobs_statistics_improvements
- dev-distinct_and_count_stats
- dev-typed-options
- dev-php-7
- dev-change-onebip-concurrency-branch
- dev-memory_limit_exception_before_unlock_worker
- dev-allowing_only_one_tag
- dev-increasing_mongodb_safety
- dev-improved_statistics
- dev-added_maximum_to_retry_statistics
- dev-dashboard
- dev-batch-strategy
This package is not auto-updated.
Last update: 2025-01-04 20:09:40 UTC
README
This is a work in progress not ready to be used or seen. This work is sponsored by Onebip
Recruiter
It's a Job Queue Manager built with PHP meant to be used in PHP projects. Features and characteristics:
- Jobs are made persistent on MongoDB
- Jobs are retriable with complex and customizable strategies
- Multiple queues are supported through tagging
- Jobs are stored by default in an history collection for after the fact inspection and analytics
- Built to be robust, scalable and fault tolerant
History
Onebip is a payment system (think PayPal with mobile devices in place of credit cards), things like: payment notifications, subscription renewals, remainder messages, … are really important. You cannot skip or lose a job (notification are idempotent but payments are not). You cannot forgot to have completed a job (customer/merchant support must have data to do their job). You need to know if and when you can retry a failed job (external services have rate limits and are based on agreements/contracts). We have developed internally our job/queue solution called Recruiter. After a year in production and many billions of jobs we have decided to put what we have learned into a stand alone project and to make it available to everyone.