任务队列接口
gcloud_taskqueue的Python项目详细描述
google task queue client
=========
支持python client使用“gcloud”使用“task queue rest api”
。_任务队列rest api:https://cloud.google.com/appengine/docs/python/task queue/rest/
。_ gcloud:https://googlecloudplatform.github.io/gcloud python/
所需依赖项
---------
>需要以下第三方python模块:
-gcloud
安装依赖项的最简单方法是运行::
$pip install-r requirements.txt
任务队列API?
---------------------------
google cloud client library for python(`gcloud`)很棒,但是它缺少一个到任务队列rest api的接口。这是可以理解的,因为api
是实验性的,并且仍然处于alpha中,不能从应用程序内部完全访问。
而且gcloud确实支持pubsub。
但是,任务队列提供了一些pubsub中不可用的功能。并且
虽然推送队列仅限于在应用程序引擎内使用,但可以在应用程序引擎环境外使用拉取队列。
对于拉取队列,工作人员可以租用一定时间的任务。在此期间,
其他工人无法使用这些任务。这可以防止不同的工作人员多次处理单个任务。这使得任务队列对于后台处理非常有用,例如与对象更改通知结合使用,以便在更改或创建存储桶中的对象时对其进行处理。
https://cloud.google.com/compute/docs/tutorials/batch processing with autoscaler
https://cloud.google.com/appengine/docs/python/taskqueue/rest
要拉取使用此帐户创建的任务
,您需要使用其凭据:
>;>;json\u credential s\u path=“/path/to/my service credential.json”
>;>;client=client.from\u service\u json(json\u credentials\u path,project=“my project”)
get taskqueue::
>;tq=taskqueue(client=client, id="my-taskqueue")
>在taskqueue中获取任务:对于tq中的任务,任务列表(client=client)中的任务:
>
>>gt;对于tq中的任务,任务列表(client=client)中的任务:
>;gt;gt;打印({}\t{}\t{{}}};格式(task.id,task.leasetTimeStamp,task.leasetTimeStamp,task.retry\count))
<10个任务,任务至少60秒:
10个任务:对于60秒:
tq.lease中的任务(lease_time=60,num庘tasks=10,client=client):
>;>print({}\t{}\t{}。format(task.id,task.leaseTimeStamp,task.retry庘count))
lease 10个具有特定标记的任务,持续60秒:
>;对于tq.lease中的任务(lease庘time=60,num庘tasks=10,tag='my-tag',client=client):
>;打印(“{}{t}}{t}”)格式(task.task.task.task.LasaseMyType,Toas.RejyLyCo计数)
V0.1.1,2014.04.07——BugFixad,TaskQueWe()。如果TaskQueWe不存在(http://Github.com/SeBasTyAcdio/GCuldJuthTaskQue/问题/ 1)< Br/> V0.1.2,2014.04.07——FIX缩进,IssifSe()返回false。如果TaskQuew不存在HTTPS://Github. COM/SEBASTANCODES/GCULDYTASKEQUE/SUNES/1,则引发DoNoTeXistExchange异常
=========
支持python client使用“gcloud”使用“task queue rest api”
。_任务队列rest api:https://cloud.google.com/appengine/docs/python/task queue/rest/
。_ gcloud:https://googlecloudplatform.github.io/gcloud python/
所需依赖项
---------
>需要以下第三方python模块:
-gcloud
安装依赖项的最简单方法是运行::
$pip install-r requirements.txt
任务队列API?
---------------------------
google cloud client library for python(`gcloud`)很棒,但是它缺少一个到任务队列rest api的接口。这是可以理解的,因为api
是实验性的,并且仍然处于alpha中,不能从应用程序内部完全访问。
而且gcloud确实支持pubsub。
但是,任务队列提供了一些pubsub中不可用的功能。并且
虽然推送队列仅限于在应用程序引擎内使用,但可以在应用程序引擎环境外使用拉取队列。
对于拉取队列,工作人员可以租用一定时间的任务。在此期间,
其他工人无法使用这些任务。这可以防止不同的工作人员多次处理单个任务。这使得任务队列对于后台处理非常有用,例如与对象更改通知结合使用,以便在更改或创建存储桶中的对象时对其进行处理。
https://cloud.google.com/compute/docs/tutorials/batch processing with autoscaler
https://cloud.google.com/appengine/docs/python/taskqueue/rest
要拉取使用此帐户创建的任务
,您需要使用其凭据:
>;>;json\u credential s\u path=“/path/to/my service credential.json”
>;>;client=client.from\u service\u json(json\u credentials\u path,project=“my project”)
get taskqueue::
>;tq=taskqueue(client=client, id="my-taskqueue")
>在taskqueue中获取任务:对于tq中的任务,任务列表(client=client)中的任务:
>
>>gt;对于tq中的任务,任务列表(client=client)中的任务:
>;gt;gt;打印({}\t{}\t{{}}};格式(task.id,task.leasetTimeStamp,task.leasetTimeStamp,task.retry\count))
<10个任务,任务至少60秒:
10个任务:对于60秒:
tq.lease中的任务(lease_time=60,num庘tasks=10,client=client):
>;>print({}\t{}\t{}。format(task.id,task.leaseTimeStamp,task.retry庘count))
lease 10个具有特定标记的任务,持续60秒:
>;对于tq.lease中的任务(lease庘time=60,num庘tasks=10,tag='my-tag',client=client):
>;打印(“{}{t}}{t}”)格式(task.task.task.task.LasaseMyType,Toas.RejyLyCo计数)
V0.1.1,2014.04.07——BugFixad,TaskQueWe()。如果TaskQueWe不存在(http://Github.com/SeBasTyAcdio/GCuldJuthTaskQue/问题/ 1)< Br/> V0.1.2,2014.04.07——FIX缩进,IssifSe()返回false。如果TaskQuew不存在HTTPS://Github. COM/SEBASTANCODES/GCULDYTASKEQUE/SUNES/1,则引发DoNoTeXistExchange异常