mirror of
https://github.com/idanoo/php-resque.git
synced 2024-11-22 00:11:53 +00:00
Add github style syntax highlights on README file.
This commit is contained in:
parent
a1cfc292d4
commit
271b584957
135
README.md
135
README.md
@ -51,6 +51,8 @@ If you're not familiar with Composer, please see <http://getcomposer.org/>.
|
|||||||
|
|
||||||
1. Add php-resque to your application's composer.json.
|
1. Add php-resque to your application's composer.json.
|
||||||
|
|
||||||
|
```json
|
||||||
|
|
||||||
{
|
{
|
||||||
...
|
...
|
||||||
"require": {
|
"require": {
|
||||||
@ -58,13 +60,16 @@ If you're not familiar with Composer, please see <http://getcomposer.org/>.
|
|||||||
},
|
},
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
2. Run `composer install`.
|
2. Run `composer install`.
|
||||||
|
|
||||||
3. If you haven't already, add the Composer autoload to your project's
|
3. If you haven't already, add the Composer autoload to your project's
|
||||||
initialization file. (example)
|
initialization file. (example)
|
||||||
|
|
||||||
|
```sh
|
||||||
require 'vendor/autoload.php';
|
require 'vendor/autoload.php';
|
||||||
|
```
|
||||||
|
|
||||||
## Jobs ##
|
## Jobs ##
|
||||||
|
|
||||||
@ -72,6 +77,8 @@ If you're not familiar with Composer, please see <http://getcomposer.org/>.
|
|||||||
|
|
||||||
Jobs are queued as follows:
|
Jobs are queued as follows:
|
||||||
|
|
||||||
|
```php
|
||||||
|
|
||||||
// Required if redis is located elsewhere
|
// Required if redis is located elsewhere
|
||||||
Resque::setBackend('localhost:6379');
|
Resque::setBackend('localhost:6379');
|
||||||
|
|
||||||
@ -80,10 +87,14 @@ Jobs are queued as follows:
|
|||||||
);
|
);
|
||||||
Resque::enqueue('default', 'My_Job', $args);
|
Resque::enqueue('default', 'My_Job', $args);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
### Defining Jobs ###
|
### Defining Jobs ###
|
||||||
|
|
||||||
Each job should be in it's own class, and include a `perform` method.
|
Each job should be in it's own class, and include a `perform` method.
|
||||||
|
|
||||||
|
```php
|
||||||
|
|
||||||
class My_Job
|
class My_Job
|
||||||
{
|
{
|
||||||
public function perform()
|
public function perform()
|
||||||
@ -93,6 +104,8 @@ Each job should be in it's own class, and include a `perform` method.
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
When the job is run, the class will be instantiated and any arguments
|
When the job is run, the class will be instantiated and any arguments
|
||||||
will be set as an array on the instantiated object, and are accessible
|
will be set as an array on the instantiated object, and are accessible
|
||||||
via `$this->args`.
|
via `$this->args`.
|
||||||
@ -105,23 +118,27 @@ Jobs can also have `setUp` and `tearDown` methods. If a `setUp` method
|
|||||||
is defined, it will be called before the `perform` method is run.
|
is defined, it will be called before the `perform` method is run.
|
||||||
The `tearDown` method if defined, will be called after the job finishes.
|
The `tearDown` method if defined, will be called after the job finishes.
|
||||||
|
|
||||||
class My_Job
|
|
||||||
{
|
|
||||||
public function setUp()
|
|
||||||
{
|
|
||||||
// ... Set up environment for this job
|
|
||||||
}
|
|
||||||
|
|
||||||
public function perform()
|
```php
|
||||||
{
|
|
||||||
// .. Run job
|
|
||||||
}
|
|
||||||
|
|
||||||
public function tearDown()
|
class My_Job
|
||||||
{
|
{
|
||||||
// ... Remove environment for this job
|
public function setUp()
|
||||||
}
|
{
|
||||||
}
|
// ... Set up environment for this job
|
||||||
|
}
|
||||||
|
|
||||||
|
public function perform()
|
||||||
|
{
|
||||||
|
// .. Run job
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
// ... Remove environment for this job
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Tracking Job Statuses ###
|
### Tracking Job Statuses ###
|
||||||
|
|
||||||
@ -144,11 +161,11 @@ To fetch the status of a job:
|
|||||||
Job statuses are defined as constants in the `Resque_Job_Status` class.
|
Job statuses are defined as constants in the `Resque_Job_Status` class.
|
||||||
Valid statuses include:
|
Valid statuses include:
|
||||||
|
|
||||||
* `Resque_Job_Status::STATUS_WAITING` - Job is still queued
|
* `Resque_Job_Status::STATUS_WAITING` - Job is still queued
|
||||||
* `Resque_Job_Status::STATUS_RUNNING` - Job is currently running
|
* `Resque_Job_Status::STATUS_RUNNING` - Job is currently running
|
||||||
* `Resque_Job_Status::STATUS_FAILED` - Job has failed
|
* `Resque_Job_Status::STATUS_FAILED` - Job has failed
|
||||||
* `Resque_Job_Status::STATUS_COMPLETE` - Job is complete
|
* `Resque_Job_Status::STATUS_COMPLETE` - Job is complete
|
||||||
* `false` - Failed to fetch the status - is the token valid?
|
* `false` - Failed to fetch the status - is the token valid?
|
||||||
|
|
||||||
Statuses are available for up to 24 hours after a job has completed
|
Statuses are available for up to 24 hours after a job has completed
|
||||||
or failed, and are then automatically expired. A status can also
|
or failed, and are then automatically expired. A status can also
|
||||||
@ -177,7 +194,9 @@ It's your responsibility to tell the worker which file to include to get
|
|||||||
your application underway. You do so by setting the `APP_INCLUDE` environment
|
your application underway. You do so by setting the `APP_INCLUDE` environment
|
||||||
variable:
|
variable:
|
||||||
|
|
||||||
|
```sh
|
||||||
$ QUEUE=file_serve APP_INCLUDE=../application/init.php php bin/resque
|
$ QUEUE=file_serve APP_INCLUDE=../application/init.php php bin/resque
|
||||||
|
```
|
||||||
|
|
||||||
*Pro tip: Using Composer? More than likely, you don't need to worry about
|
*Pro tip: Using Composer? More than likely, you don't need to worry about
|
||||||
`APP_INCLUDE`, because hopefully Composer is responsible for autoloading
|
`APP_INCLUDE`, because hopefully Composer is responsible for autoloading
|
||||||
@ -192,8 +211,10 @@ The port supports the same environment variables for logging to STDOUT.
|
|||||||
Setting `VERBOSE` will print basic debugging information and `VVERBOSE`
|
Setting `VERBOSE` will print basic debugging information and `VVERBOSE`
|
||||||
will print detailed information.
|
will print detailed information.
|
||||||
|
|
||||||
|
```sh
|
||||||
$ VERBOSE QUEUE=file_serve bin/resque
|
$ VERBOSE QUEUE=file_serve bin/resque
|
||||||
$ VVERBOSE QUEUE=file_serve bin/resque
|
$ VVERBOSE QUEUE=file_serve bin/resque
|
||||||
|
```
|
||||||
|
|
||||||
### Priorities and Queue Lists ###
|
### Priorities and Queue Lists ###
|
||||||
|
|
||||||
@ -204,7 +225,9 @@ checked in.
|
|||||||
|
|
||||||
As per the original example:
|
As per the original example:
|
||||||
|
|
||||||
|
```sh
|
||||||
$ QUEUE=file_serve,warm_cache bin/resque
|
$ QUEUE=file_serve,warm_cache bin/resque
|
||||||
|
```
|
||||||
|
|
||||||
The `file_serve` queue will always be checked for new jobs on each
|
The `file_serve` queue will always be checked for new jobs on each
|
||||||
iteration before the `warm_cache` queue is checked.
|
iteration before the `warm_cache` queue is checked.
|
||||||
@ -214,21 +237,27 @@ iteration before the `warm_cache` queue is checked.
|
|||||||
All queues are supported in the same manner and processed in alphabetical
|
All queues are supported in the same manner and processed in alphabetical
|
||||||
order:
|
order:
|
||||||
|
|
||||||
|
```sh
|
||||||
$ QUEUE=* bin/resque
|
$ QUEUE=* bin/resque
|
||||||
|
```
|
||||||
|
|
||||||
### Running Multiple Workers ###
|
### Running Multiple Workers ###
|
||||||
|
|
||||||
Multiple workers ca be launched and automatically worked by supplying
|
Multiple workers ca be launched and automatically worked by supplying
|
||||||
the `COUNT` environment variable:
|
the `COUNT` environment variable:
|
||||||
|
|
||||||
$ COUNT=5 bin/resque
|
```sh
|
||||||
|
$ COUNT=5 bin/resque
|
||||||
|
```
|
||||||
|
|
||||||
### Custom prefix ###
|
### Custom prefix ###
|
||||||
|
|
||||||
When you have multiple apps using the same Redis database it is better to
|
When you have multiple apps using the same Redis database it is better to
|
||||||
use a custom prefix to separate the Resque data:
|
use a custom prefix to separate the Resque data:
|
||||||
|
|
||||||
$ PREFIX=my-app-name bin/resque
|
```sh
|
||||||
|
$ PREFIX=my-app-name bin/resque
|
||||||
|
```
|
||||||
|
|
||||||
### Forking ###
|
### Forking ###
|
||||||
|
|
||||||
@ -245,11 +274,11 @@ the job.
|
|||||||
Signals also work on supported platforms exactly as in the Ruby
|
Signals also work on supported platforms exactly as in the Ruby
|
||||||
version of Resque:
|
version of Resque:
|
||||||
|
|
||||||
* `QUIT` - Wait for child to finish processing then exit
|
* `QUIT` - Wait for child to finish processing then exit
|
||||||
* `TERM` / `INT` - Immediately kill child then exit
|
* `TERM` / `INT` - Immediately kill child then exit
|
||||||
* `USR1` - Immediately kill child but don't exit
|
* `USR1` - Immediately kill child but don't exit
|
||||||
* `USR2` - Pause worker, no new jobs will be processed
|
* `USR2` - Pause worker, no new jobs will be processed
|
||||||
* `CONT` - Resume worker.
|
* `CONT` - Resume worker.
|
||||||
|
|
||||||
### Process Titles/Statuses ###
|
### Process Titles/Statuses ###
|
||||||
|
|
||||||
@ -274,14 +303,16 @@ You listen in on events (as listed below) by registering with `Resque_Event`
|
|||||||
and supplying a callback that you would like triggered when the event is
|
and supplying a callback that you would like triggered when the event is
|
||||||
raised:
|
raised:
|
||||||
|
|
||||||
|
```sh
|
||||||
Resque_Event::listen('eventName', [callback]);
|
Resque_Event::listen('eventName', [callback]);
|
||||||
|
```
|
||||||
|
|
||||||
`[callback]` may be anything in PHP that is callable by `call_user_func_array`:
|
`[callback]` may be anything in PHP that is callable by `call_user_func_array`:
|
||||||
|
|
||||||
* A string with the name of a function
|
* A string with the name of a function
|
||||||
* An array containing an object and method to call
|
* An array containing an object and method to call
|
||||||
* An array containing an object and a static method to call
|
* An array containing an object and a static method to call
|
||||||
* A closure (PHP 5.3)
|
* A closure (PHP 5.3)
|
||||||
|
|
||||||
Events may pass arguments (documented below), so your callback should accept
|
Events may pass arguments (documented below), so your callback should accept
|
||||||
these arguments.
|
these arguments.
|
||||||
@ -358,24 +389,24 @@ Called after a job has been queued using the `Resque::enqueue` method. Arguments
|
|||||||
|
|
||||||
## Contributors ##
|
## Contributors ##
|
||||||
|
|
||||||
* chrisboulton
|
* chrisboulton
|
||||||
* thedotedge
|
* thedotedge
|
||||||
* hobodave
|
* hobodave
|
||||||
* scraton
|
* scraton
|
||||||
* KevBurnsJr
|
* KevBurnsJr
|
||||||
* jmathai
|
* jmathai
|
||||||
* dceballos
|
* dceballos
|
||||||
* patrickbajao
|
* patrickbajao
|
||||||
* andrewjshults
|
* andrewjshults
|
||||||
* warezthebeef
|
* warezthebeef
|
||||||
* d11wtq
|
* d11wtq
|
||||||
* hlegius
|
* hlegius
|
||||||
* salimane
|
* salimane
|
||||||
* humancopy
|
* humancopy
|
||||||
* pedroarnal
|
* pedroarnal
|
||||||
* chaitanyakuber
|
* chaitanyakuber
|
||||||
* maetl
|
* maetl
|
||||||
* Matt Heath
|
* Matt Heath
|
||||||
* jjfrey
|
* jjfrey
|
||||||
* scragg0x
|
* scragg0x
|
||||||
* ruudk
|
* ruudk
|
||||||
|
Loading…
Reference in New Issue
Block a user