jcs224 / faktory_worker_php5
Faktory job queue library for PHP. Compatible with PHP 5.6
dev-master
2020-08-22 03:11 UTC
Requires
- php: ^5.6
This package is auto-updated.
Last update: 2025-05-22 13:12:43 UTC
README
Faktory job queue library for PHP. Compatible with PHP 5.6 (and maybe lower, but untested)
Supported Faktory versions
- 0.9.7
- 1.0.1
It could work on earlier versions, but untested.
Installation / Usage
Formal instructions are coming soon. In the meantime, use Composer to install the package:
composer require jcs224/faktory_worker_php5
Pushing jobs
use FaktoryQueue\FaktoryClient; use FaktoryQueue\FaktoryJob; $client = new FaktoryClient('localhost', '7419', 'optionalpassword'); $job1 = new FaktoryJob('cooljob', [ 1, 2 ]); $job2 = new FaktoryJob('cooljob2', [ 3, 4 ]); $client->push($job1); $client->push($job2);
Scheduled jobs
You can also schedule when jobs will run as you push them onto the queue. Here are some examples:
$client = new FaktoryClient('faktory', '7419'); $job1 = new FaktoryJob('CoolJob1', [ 1, 2 ]); $job2 = new FaktoryJob('CoolJob2', [ 3, 4 ]); $job3 = new FaktoryJob('CoolJob3', [ 5, 6 ]); $job4 = new FaktoryJob('CoolJob4', [ 7, 8 ]); $job5 = new FaktoryJob('CoolJob5', [ 9, 10 ]); $job1->inSeconds(300); $job2->inMinutes(15); $job3->inHours(24); $date = date(DATE_RFC3339, strtotime('+5 days')); $job4->at($date); $client->push($job1); $client->push($job2); $client->push($job3); $client->push($job4); $client->push($job5);
Starting a worker that listens for jobs
use FaktoryQueue\FaktoryClient; use FaktoryQueue\FaktoryWorker; $client = new FaktoryClient('localhost', '7419', 'optionalpassword'); $worker = new FaktoryWorker($client); $worker->register('cooljob', function($job) { echo "something cool: ".$job['args'][0].' '.$job['args'][1]."\n"; }); $worker->register('cooljob2', function($job) { echo "This is cooler: ".$job['args'][0].' '.$job['args'][1]."\n"; }); $worker->run(true);