可爱系统中与appengine相关的python包
lovely.gae的Python项目详细描述
可爱的.gae.async
这个包异步执行作业,它使用appengine 执行作业的任务队列。
< Buff行情>>>> from lovely.gae.async import defer, get_tasks
defer函数作为作业异步执行处理程序。我们 创建3个具有相同签名的作业。
< Buff行情>>>> import time >>> for i in range(3): ... print defer(time.sleep, [0.3]) <google.appengine.api.labs.taskqueue.taskqueue.Task object at ...> None None
让我们看看有什么工作。注意只有一个 因为我们添加的3个作业都是相同的。
< Buff行情>>>> len(get_tasks()) 1
如果我们更改作业的签名,则会添加新的签名。
< Buff行情>>>> added = defer(time.sleep, [0.4]) >>> len(get_tasks()) 2
通常作业是由taskqueueapi自动执行的,我们有 执行作业并返回作业数的测试方法 完成了。< /P> < Buff行情>
>>> run_tasks() 2
现在我们可以再次添加相同的签名。
< Buff行情>>>> added = defer(time.sleep, [0.4]) >>> run_tasks() 1
我们还可以将only_once设置为false,以便多次使用 相同的签名。
< Buff行情>>>> from pprint import pprint >>> defer(pprint, ['hello'], once_only=False) <google.appengine.api.labs.taskqueue.taskqueue.Task object at ...> >>> defer(pprint, ['hello'], once_only=False) <google.appengine.api.labs.taskqueue.taskqueue.Task object at ...> >>> run_tasks() 'hello' 'hello' 2