我有此代码可以正常工作:
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)
我尝试了其他许多无法正常工作的小变化。
答案 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')