genius13 / codeigniter-job-queue-redis
基于redis的任务队列
0.1
2014-09-16 06:22 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-24 08:00:31 UTC
README
#Codeigniter-jobQueue ###基于redis和mcurl的任务队列 Marcos Sanz
如果您有任何问题或发现错误,请随时通过电子邮件与我联系。
##安装 首先,您必须安装 codeigniter-redis 库和 codeigniter-mcurl 库。只需将此包中的文件复制到应用程序文件夹中的相应文件夹。例如,/application/libraries/jobs.php。
###加载库 在 /application/config/autoload.php
$autoload['libraries'] = array('jobs');
或
$this -> load -> library('jobs');
##应用程序使用变量
- $at ($timestamp) => 想要执行任务的Unix时间戳
- $queue => 队列名称。例如:high、normal、low、mail、archive
- $controller => 控制器名称
- $method => 控制器中的方法名称(默认:index)
- $params => 参数数组(默认:null)。例如:array('param1','param2','param3')
- $description => 任务的描述(默认:null)。例如:UpdateUserProfile
- $belongTo ($user_id) => 任务的用户ID(默认:null)。
- $stat => 任务状态。例如:delayed、waiting、running、complete和failed
###创建新任务函数
create($queue, $controller, $method, $params, $description, $belongTo)
例如
$this -> jobs -> create('high', 'users', 'check_users', array('10'), 'checkUsers','1');
###创建新的计划任务函数
create_at($at, $queue, $controller, $method, $params, $description, $belongTo)
例如
$this -> jobs -> create_at(1353456000, 'high', 'users', 'check_users', array('10'), 'checkUsers','1');
###获取给定队列的大小函数
get_queue_size($queue)
例如
$this -> jobs -> get_queue_size('low');
###获取延迟队列的大小函数
get_delayed_queue_size()
例如
$this -> jobs -> get_delayed_queue_size();
###获取给定时间戳的延迟队列大小函数
get_delayed_timestamp_size($timestamp)
例如
$this -> jobs -> get_delayed_timestamp_size(1353456000);
###清空队列函数
clear($queue)
例如
$this -> jobs -> clear('low');
###销毁队列函数
destroy($queue)
例如
$this -> jobs -> destroy('low');
###移除任务函数
//TODO
###获取给定队列的预览函数
peek($queue)
例如
$this -> jobs -> peek('low');
###获取队列成员函数
queues()
例如
$this -> jobs -> queues();
###获取工作者的当前任务和工作者函数
get_workers()
例如
$this -> jobs -> get_workers();
###获取任务状态或从用户获取任务状态函数
get_statuses_jobs($user_id)
例如
$this -> jobs -> get_statuses_jobs(); or $this -> jobs -> get_statuses_jobs(2341);
###获取给定状态的数量函数
get_stat($stat)
例如
$this -> jobs -> get_stat('running');
###清除状态函数
clear_stat()
例如
$this -> jobs -> clear_stat();
##工作者使用变量
- $worker_name => 机器或工作者的名称(默认:worker)
- $queues => 队列名称。例如:high
- $interval => 工作者休眠的秒数(默认:null)
###主工作者(执行任务)函数
worker($worker_name, $queues, $interval)
###延迟工作者(重新组织计划任务)函数
worker_delayed($worker_name, $interval)
谢谢
-Marcos Sanz
marcossanzlatorre@gmail.com
@marsanla