Add original queue system to FuelPHP 1.7.x or later.
This is FuelPHP package. If you want to use, please use as package.
How to install : http://fuelphp.com/docs/general/packages.html#/installing
- Install Orm package.
This package depends on fuelphp orm package.
If you don't have orm package, please install before use this.
php oil package install orm
- Migrate Database.
This package need to create task_queue table.
You must prepare database which supported Fuel\Core\DB classes.
If you already have database, can migrate by this package.
php oil refine migrate --packages=fuelphp-queue
- Push queue in your application.
\Model_TaskQueue::save_queue(
"Static::method",
array($arg1, $arg2 ...)
);
- Run queue by task.
php oil refine queue
Push task queue.
Method name that you want to call. Method must be defined static.
Method's arguments.
You can define and set queue type.
If you run queue in parallel, $duplicate_type
can set max queue that you execute to each type.
Please also check the config queue.duplicate_type
if you use this option.
You can define and set queue's priority.
If you have many task in task_queues, Model_TaskQueue::pick()
choose most minimum priority queue.
Please also check the config queue.queue_default_priority
if you use this option.
Run a queue. Queue is selected by Model_Taskqueue::pickup()
.
This task can use in parallel. Also you can set execute limit by queue.queue_parallel_number
.
Delete old queues that succeeded before than 2 weeks.
This delete is physical delete.
If you change this term, please change config queue.success_queue_delete_term
.
Can set Integer key and Integer value.
Key is taks_queues.duplicate_type
value in database table, and value is parallel execute limit.
If not set value in this config and set value in db value, Model_TaskQueue::pickup()
throw OutOfRangeException.
Notice: You can't set 0 key in this config because 0 used as default value.
Limitation of queue execute time.
If queue status stay 'exec' over this time, status is back to 'wait'
when use Model_Taskqueue::recover_zombie_queues()
or run next queue task.
Default value is -1 hour
.
Set the physical delete term.
when call the task php oil refine queues:clean
, delete old queues that succeeded before than you set.
Default value is -14 days
.
Number of you can execute task queues
in Parallel.
Default value is 3
.
Can set priority number. 0
is top priority.
You can set task priority when queue insert using Model_TaskQueue::save_queue()
.
Default value is 100
.
Task queues
are managed by pid file. Pid file is created tmp directory in your application.
You can set original pid prefix for avoid name confliction.
Default value is queue
.
Logical delete schema setting.
Default values are above.
- Not delete =
0
- Deleted =
1