【问题标题】:Google TaskQueue (pull) insert task by APIGoogle TaskQueue (pull) 通过 API 插入任务
【发布时间】:2016-12-29 01:10:51
【问题描述】:

我正在使用 apiclient.discovery.build 从 Google 拉取队列中租用任务。它工作正常。但是当我尝试在此队列中插入任务时,我总是遇到同样的错误:

from apiclient.discovery import build
build = build('taskqueue', 'v1beta2', credentials=GoogleCredentials.get_application_default())

# Works
resp = build.tasks().lease(project=project,taskqueue=name,leaseSecs=lease_time,numTasks=num_tasks).execute()

# Error
payload = {'payloadBase64': 'c29tZSB0ZXN0'}
result = build.tasks().insert(project=project,taskqueue=name,body=payload)

引发 HttpError(resp, content, uri=self.uri) googleapiclient.errors.HttpError:https://www.googleapis.com/taskqueue/v1beta2/projects/project_test/taskqueues/pullqq/tasks?alt=json 返回“后端错误”>

身份验证是正确的,因为我可以租用/删除任务。它可能是负载中的某些字段缺失?

【问题讨论】:

    标签: python google-cloud-platform task-queue pull-queue


    【解决方案1】:

    嗯.. 我用租用任务中的确切有效负载更改了有效负载.. 除了某些字段(例如,ID 或租赁时间),并在 'queueName' 中的项目名称中添加了 '~s'。

    resp = {u'kind': u'taskqueues#task', u'queueName': u'projects/s~project_name/taskqueues/pullqq', u'payloadBase64': u'c29tZSB0ZXN0'}
    

    现在成功了。

    【讨论】:

      猜你喜欢
      • 2015-03-17
      • 2013-06-05
      • 2015-02-11
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      相关资源
      最近更新 更多