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