php-resque怎么才能做到执行tp框架中的job?
巴扎黑
巴扎黑 2017-04-10 17:01:42
0
2
324

用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);
    }
}
巴扎黑
巴扎黑

membalas semua(2)
阿神

不建议cli模式运行框架 如果需要框架中的模块 直接引用就好了啦

迷茫

将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;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan