Мы выполняем задачу. Основываясь на документации здесь , мы создали новую очередь под названием «Генерировать отчеты». Наш queue.yaml выглядит следующим образом.
- name: generate-reports
target: v2.task-module
rate: 5/s
max_concurrent_requests: 10
bucket_size: 40
Мы проверяем облачную консоль Google и можем убедиться, что очередь «генерировать отчеты» активна.
Затем мы помещаем задачу вэта очередь, используя это.
class scheduledownloadreport(webapp2.RequestHandler):
# Call the report to get the elements
ScheduleReportDownload_cloudapi_obj = schedulereportdownload_cloudapi.ScheduleReportDownload_cloudapi()
data_sent_obj = ScheduleReportDownload_cloudapi_obj.schedule_download(
download_obj)
class schedulereportdownload_cloudapi():
taskqueue.Queue(name='generate-reports')
task = taskqueue.add(
url='/schedulebackendtasktocreatereport',
target='worker',
queue_name = 'generate-reports',
params={
"task_data" : task_data
})
Мы тоже это попробовали.
taskqueue.Queue(name='generate-reports')
task = taskqueue.add(
url='/worker/schedulebackendtasktocreatereport',
target='worker',
queue_name = 'generate-reports',
params={
"task_data" : task_data
})
В обоих случаях мы получаем следующую ошибку -
"POST /schedulebackendtasktocreatereport HTTP/1.1" 404 113 https://MY-PROJECT-NAME/schedulereportdownload
Если мы используем просто (без параметра queue_name)
taskqueue.Queue(name='generate-reports')
task = taskqueue.add(
url='/schedulebackendtasktocreatereport',
target='worker',
params={
"task_data" : task_data
})
, задачи работаютКак колдовство. они помещаются в очередь по умолчанию.
ОБНОВЛЕНО РЕШЕНИЕМ
- name: generate-reports
target: worker
rate: 5/s
max_concurrent_requests: 10
bucket_size: 40