jcs224 / faktory_worker_php5
Faktory作业队列库,适用于PHP。兼容PHP 5.6
dev-master
2020-08-22 03:11 UTC
Requires
- php: ^5.6
This package is auto-updated.
Last update: 2024-09-22 11:33:41 UTC
README
Faktory作业队列库,适用于PHP。兼容PHP 5.6(可能还兼容更低版本,但未经过测试)
支持的Faktory版本
- 0.9.7
- 1.0.1
它可能适用于更早的版本,但未经过测试。
安装/使用
正式说明即将推出。在此期间,请使用Composer安装此包
composer require jcs224/faktory_worker_php5
推送作业
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);
计划任务
您还可以在将作业推送到队列时计划作业的运行时间。以下是一些示例
$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);
启动一个监听作业的worker
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);