用cli模式运行worker
但是提示找不到job类
不知道在tp的哪里写job类
<?php
namespace Home\Controller;
use Think\Controller;
class ResqueController extends Controller
{
public function resque(){
require_once __DIR__ . '/../../../../php-resque/bin/resque';
// $job = new PHP_Job;
// $job->perform();
// dump($job);
}
}
迷茫2017-04-10 17:03:42
将Job类改为Job.class.php并添加命名空间
public function getInstance()
{
if (!is_null($this->instance)) {
return $this->instance;
}
/*
if(!class_exists($this->payload['class'])) {
throw new \Resque_Exception(
'Could not find job class ' . $this->payload['class'] . '.'
);
}
if(!method_exists($this->payload['class'], 'perform')) {
throw new \Resque_Exception(
'Job class ' . $this->payload['class'] . ' does not contain a perform method.'
);
}*/
// 将任务类放到Job文件夹即可
$hand = '\path\to\Resque\Job\\' . $this->payload['class'];
$this->instance = new $hand;
$this->instance->job = $this;
$this->instance->args = $this->getArguments();
$this->instance->queue = $this->queue;
return $this->instance;
}