我们正在执行任务队列。根据此处的文档 ,我们创建了一个名为“generate-reports”的新队列。我们的 queue.yaml 看起来像这样。
- name: generate-reports
target: v2.task-module
rate: 5/s
max_concurrent_requests: 10
bucket_size: 40
我们检查谷歌云控制台,可以验证“生成报告”队列是否处于活动状态。
然后我们使用这个在这个队列中放置一个任务。
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