https://github.com/jcs224/faktory_worker_php5
Faktory job queue library for PHP. Compatible with PHP 5.6
https://github.com/jcs224/faktory_worker_php5
Last synced: about 1 month ago
JSON representation
Faktory job queue library for PHP. Compatible with PHP 5.6
- Host: GitHub
- URL: https://github.com/jcs224/faktory_worker_php5
- Owner: jcs224
- License: mit
- Created: 2019-04-13T06:49:47.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-25T17:42:36.000Z (about 1 year ago)
- Last Synced: 2025-03-24T20:12:44.302Z (about 2 months ago)
- Language: PHP
- Homepage:
- Size: 30.3 KB
- Stars: 6
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Faktory PHP 5 Library
[Faktory](https://github.com/contribsys/faktory) job queue library for PHP. Compatible with PHP 5.6 (and maybe lower, but untested)### Supported Faktory versions
- 0.9.7
- 1.0.1It 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
```php
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:
```php
$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
```php
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);
```