Google App Engine-Python-任务队列-如何添加任务列表?

时间:2018-09-20 11:43:17

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

我有此代码可以正常工作:

taskqueue.add(url = MY_URL, params={'id': 42}, queue_name='random-message')

this official document中表示:“将一个任务或任务列表添加到此队列中。”

但我不知道如何。

我已经尝试过了:

tasks = []
tasks.append(taskqueue.Task(url = MY_URL, params={'id': 42}))
taskqueue.add(tasks, queue_name='random-message')

但是它引发了一个我不理解的错误:

'Task payloads must be strings; invalid payload: %r' % payload)

我尝试了其他许多无法正常工作的小变化。

2 个答案:

答案 0 :(得分:4)

问题是:

taskqueue.add(task)

一次不能接收多个任务。正确的方法是:

taskqueue.Queue.add(tasks)

我的代码正在运行:

tasks = []
tasks.append(taskqueue.Task(url = MY_URL, params={'id': 42}))
taskqueue.Queue('random-message').add(tasks)

答案 1 :(得分:2)

您可能遇到命名冲突,因为tasks.add()方法的参数。试试:

task_list = []
task_list.append(taskqueue.Task(url = MY_URL, params={'id': 42}))
taskqueue.add(tasks=task_list, queue_name='random-message')

或:

taskqueue.add(task_list, queue_name='random-message')