PHP刷新工作程序不工作?
我想在codeigniter项目中使用php_resque()。 这是创建新作业的函数“测试”PHP刷新工作程序不工作?,php,codeigniter,php-resque,Php,Codeigniter,Php Resque,我想在codeigniter项目中使用php_resque()。 这是创建新作业的函数“测试” public function test() { $this->load->library('My_Job'); Resque::setBackend('localhost:6379'); $args = array( 'name' => 'Chris' ); $token = Resque::enqueue('defau
public function test() {
$this->load->library('My_Job');
Resque::setBackend('localhost:6379');
$args = array(
'name' => 'Chris'
);
$token = Resque::enqueue('default', 'My_Job', $args, true);
$status = new Resque_Job_Status($token);
Resque::dequeue('default', ['My_Job' => $token]);
}
这是工人库代码
putenv("VVERBOSE=1");
putenv("LOGGING=1");
putenv("QUEUE=*");
class My_Job {
public function perform($args) {
$this->load->model('M_sms');
$this->M_sms->ins_msg();
}
}
当我调用“test”(localhost/project\u folder/controller/test)时,worker(My\u Job.php)中的“perform”函数没有加载。工作状态为1。这里怎么了
编辑
当我使用以下代码进行调试时
VERBOSE=1 QUEUE=default php resque.php
它说找不到作业类您必须包括应用程序自动加载程序:
QUEUE=*VVERBOSE=1 REDIS\u BACKEND=localhost:9999 APP\u INCLUDE=./path/to/loader.php php resque.php
在我的代码中,问题是工人不知道作业类的位置。正如我上面提到的,我得到了状态1(status_WAITING),这意味着“作业仍在排队”。我之所以想到这一点,是因为我试图在codeigniter项目中将job类作为库加载
$this->load->library('My_Job');
现在,我根据本教程更改了代码
本教程将逐步介绍设置将代码而不是imagesupdated设置为code@wolfgang1983的过程