Google App Engine - Python - Очередь задач - Как добавить список задач? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть этот код, который отлично работает:

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

В этом официальном документе написано: «Добавляет задачу или список задач в эту очередь».

Но я не могу понять, как.

Я уже пробовал это:

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 голосов
/ 21 сентября 2018

Проблема была:

taskqueue.add(task)

Невозможно получить более одной задачи одновременно.Правильный способ сделать это так:

taskqueue.Queue.add(tasks)

Мой код сейчас работает:

tasks = []
tasks.append(taskqueue.Task(url = MY_URL, params={'id': 42}))
taskqueue.Queue('random-message').add(tasks)
0 голосов
/ 20 сентября 2018

Возможно, у вас конфликт имен, поскольку 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')
...