簡體   English   中英

PHP Resque Worker無法正常工作?

[英]PHP Resque Worker not working?

我想在我的codeigniter項目中使用php_resque( https://github.com/chrisboulton/php-resque )。 這是創建新作業的“測試”功能。

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_folder / controller / test)時,工作程序(My_Job.php)中的'perform'函數未加載。 並且工作狀態為1.這是怎么了?

編輯

當我使用以下代碼進行調試時

VERBOSE=1 QUEUE=default php resque.php

它說找不到工作類別

您必須包括您的應用程序自動加載器:

QUEUE=* VVERBOSE=1 REDIS_BACKEND=localhost:9999 APP_INCLUDE=./path/to/loader.php php resque.php

http://kamisama.me/2012/10/12/background-jobs-with-php-and-resque-part-4-managing-worker/

在我的代碼中,問題是,工人不知道工作類別的位置。 如上所述,我的狀態為1(STATUS_WAITING),表示“作業仍在排隊”。 這是我發生的,因為我試圖將作業類作為庫加載到我的codeigniter項目中。

$this->load->library('My_Job');

現在我根據本教程更改了我的代碼Programe Veryday

本教程將逐步說明設置php-resque的過程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM