【问题标题】:PHP-Resque won't run perform()PHP-Resque 不会运行 perform()
【发布时间】:2014-04-24 00:34:11
【问题描述】:

我正在使用PHP-Resque,但无法让 perform() 方法工作。谁能告诉我我错过了什么?

这是我的设置:

  • 我打开了 3 个终端,运行以下命令:
  • $ php workers.php
  • $ redis-cli monitor
  • $ php create.php(创建工作)

  • workers.php

    <?php
    
    putenv("VVERBOSE=1");
    putenv("LOGGING=1");
    putenv("QUEUE=* php bin/resque"); 
    require_once APPPATH . '../vendor/chrisboulton/php-resque/bin/resque';
    
  • create.php

    <?php
    
    $jobId = Resque::enqueue('JESSE', 'Dog', ['hey'], true);
    echo "JobId: $jobId\n";
    
    $status = new Resque_Job_Status($jobId);
    if ($status->isTracking()) {
        echo "\nStatus: " . $status->get();
    }
    

我的 JobId 和 Status 总是 1。例如:

JobId: 757335754aec172166e8679cc3bfef58
Status: 1

我总是得到一个 Redis 日志,它被插入。例如:

[2 127.0.0.1:38912] "sadd" "resque:queues" "JESSE"
[2 127.0.0.1:38912] "rpush" "resque:queue:JESSE" "{\"class\":\"Dog\",\"args\":[[\"hey\"]],\"id\":\"757335754aec172166e8679cc3bfef58\"}"
[2 127.0.0.1:38912] "set" "resque:job:757335754aec172166e8679cc3bfef58:status" "{\"status\":1,\"updated\":1398269884,\"started\":1398269884}"
[2 127.0.0.1:38912] "exists" "resque:job:757335754aec172166e8679cc3bfef58:status"

但它似乎根本没有运行 perform() 方法:

class Dog {
    public function perform()
    {
        echo 'TEST TEST TEST TEST';

        fwrite('/tmp/resque-output.txt', 'This is running', w);
        fwrite(STDOUT, 'Start job! -> ');
        sleep(1);
        fwrite(STDOUT, 'Job ended!' . PHP_EOL);
    }
}

【问题讨论】:

  • 我在为 codeigniter 应用程序设置 php-resque 时遇到问题。这似乎是 codeigniter 的一种方法。如果是。 php workers.php 如何适应 codeigniter 的上下文。
  • 当我尝试运行工作程序时,它会显示“设置包含要工作的队列列表的 QUEUE env var”。

标签: php php-resque


【解决方案1】:

很确定是这样的:

putenv("QUEUE=* php bin/resque"); 

应该只是:

putenv("QUEUE=*"); 

第二部分是启动 resque 的命令,你做的不同。就目前而言,它正在寻找一个队列 @9​​87654323@ 而不是所有队列 (*)。

【讨论】:

  • 是的,它工作得很好,我很困惑。我在阅读 3 个不同的教程时感到困惑,其中一些分支可能已过时或更新。
  • 是的,我在使用 php-resque 时遇到了一些问题,因为 repo 比他们上一个稳定版本要新得多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-05
  • 2011-12-28
  • 2017-01-19
  • 2011-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多