GAE:推送任务队列 - 如何将任务推送到特定队列? - 使用GAE-PHP

时间:2013-12-20 11:14:02

标签: php python google-app-engine task-queue

我是GAE任务队列的新手,我创建了一个名为 anchorextractor 的队列,这显示在队列列表中。 然后我用url('/ worker / extractor / 1')创建了一个任务。创建后,如果我回显任务的名称,其显示名称(task3)。在我检查了队列列表是Taskqueue页面后,此队列下的任务为0 实际上创建了3个任务。我尝试了各种可能性。我想我解释得很好,这里不需要代码。如果你需要更多的探索,我会给予。请有人帮帮我。 (我正在用代码更新问题以供参考,以下是代码):

require_once 'google/appengine/api/taskqueue/PushTask.php';
use google\appengine\api\taskqueue\PushTask;
require_once 'google/appengine/api/taskqueue/PushQueue.php';
use google\appengine\api\taskqueue\PushQueue;

    $queue = new PushQueue('tagextractor');
    $task = new PushTask('/worker/anchorextractor/1', ['content_id' => 'aa', 'content_type' => 'aa']);
    echo "Task Name = ".$task_name = $task->add();
    $queue->addTasks([$task]);

1 个答案:

答案 0 :(得分:1)

请尝试使用此语法,它会将新任务名称记录到AppEngine日志中,以证明该任务已创建:

require_once 'google/appengine/api/taskqueue/PushTask.php';
use \google\appengine\api\taskqueue\PushTask;

$task_name = (new PushTask('/worker/anchorextractor/1', array(
  'content_id' => 'aa', 
  'content_type' => 'aa'
)))->add("tagextractor");

syslog(LOG_INFO, "new task=".$task_name);

任务确实得到了很快的处理,因此有时很难在队列中“看到”它们,但是你可以在管理控制台中进入队列并暂停它,然后这些任务会在你运行它之前建立起来手动或恢复队列。