在gcs中,为google app engine,python标准环境,将一个包含文本文件的文件夹组合成一个文本文件的函数。

im-futuregcscompose的Python项目详细描述


#appengine task utils
这是appengine任务utils库的repo。它生成appenginetaskutils包

您可以在[此处]联机找到该包(https://pypi.python.org/pypi/appengineaskutils)。

您还需要设置自动售货机,请参见[此处的应用程序引擎自动售货机说明](https://cloud.google.com/app engine/docs/python/tools/using-libraries-python-27)。

此decorator函数设计用于替换[延迟](https://cloud.google.com/appengine/articles/deferred)。


对于taskutils.task,您需要将以下内容添加到app.yaml和/或\<;servicename \>;.yaml文件:

handlers:
-url://u ah/task/*
script:taskutils.app
login:admin


此规则为任务创建一个通用处理程序,以便将工作延迟到后台推送任务。

您的模块如下:

from taskutils import task


做一些事情…

只需正常调用函数,例如:



这是可能的,因为使用了[yccloudpickle](https://medium.com/the infinite machine/python-function-serialization-with-yccloudpickle-b2ff6b2ad5da.zei3n0ibu)作为底层序列化库。

包括其他函数:

def myouterfunction(mapf):

@task
def myinnerfunction(objects):
对于对象中的对象:
mapf(object)

…获取一些对象列表…
对于objects列表中的对象:
myinnerFunction(对象)


def dosomethingWithObject(对象):
…对某个对象执行操作…



正在后台对函数和参数进行序列化和反序列化。

将后台任务排队时,应用程序引擎任务和任务队列库可以接受一组参数。您可以将这些传递给装饰器:

@task(queue=“myqueue”,countdown=5)
def anotherfunction():
…做一些事情…

在**类google.appengine.api.taskqueue.task(payload=none,\*\*kwargs)**下,[此处](https://cloud.google.com/appengine/docs/python/refdocs/google.appengine.api.taskqueue)提供了任务所允许的参数的详细信息。task decorator支持两个额外的函数,具体如下。


做一些事情……

somefunction task=task(somefunction,queue=“myqueue”)


然后,当您准备好时可以调用task返回的函数:


somefunctiontask(1,2)


您也可以同时执行这两个步骤:



task(somefunction,queue=“myqueue”)(1,2)

例如:

@task(transactional=true)
def myserioustransactionaltask():


\includeheaders

您还需要接受函数中的headers参数。

@task(includeheaders=true)
def myfunctionwithheaders(amount,headers):
…Stuff…

MyFunctionWithHeaders(10)


App Engine将有用信息以标题形式传递给您的任务,例如x-app engine-taskretrycount。


但是@task使用了一个形式为/\&ah/task/\<;module\>;/\<;function\>;的url,例如:

///u ah/task/mymodule/somefunction


,这使得调试更加容易。









欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
由于测试失败,java testcontainers maven构建失败   java实现jacobi算法实现laplace方程   java中的多线程:如何在不等待所有线程使用ExecutorService完成任务的情况下终止所有线程的执行?   java Hello World不在Android Studio 3中工作   ubuntu Tomcat7的Java版本不正确   java Javafx内存泄漏   对于手动实现的Spring数据存储库方法,我应该使用Java8默认方法吗?   googleappengine中的java添加过滤查询   html当使用JSOUP库在Java中读取标签时,如何保留标签(如<br>、<ul>、<li>、<p>等)的含义?   编码为什么jasper生成的报告在Java中不显示西里尔语(保加利亚语)?   java有没有办法隐藏当前位置和jdk动作?   java找出编译原型文件的版本   有没有办法在运行时更改java方法的访问修饰符?   语法字符串。。。Java中的参数   java数组元素在添加其他元素时会相互覆盖   eclipse中的java GWT项目   java如何为spring rest模板请求将动态json属性名映射到jackson   java无法在Windows 10上找到特定的JDK   在xml字符串和java字符串之间提取正则表达式子字符串