@critsec和@debouncedcritsec用于google应用程序引擎,python标准环境

im-critsec的Python项目详细描述


#im_critsec

此库包含decorator@critsec,用于将函数作为关键部分(不可重入任务)运行。

[![构建状态](https://travis-ci.org/emlynoregan/im戋critsec.svg?branch=master)](https://travis ci.org/emlynoregan/im_u critsec)

\您可以在线[此处](https://pypi.org/project/im critsec/)。

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

根据您正在使用的框架。

然后,您可以将函数作为关键部分运行,如下所示:

@critsec
def mycriticalfunc():
执行一些不需要中断的操作
此函数将*永不*重新运行,即使在其他计算机上的其他进程中,criticalfunc()也会在这里启动对它的调用。


critisec为每个参数和外部作用域引用的组合形成单独的关键节。例如:

@critsec
def mycriticalfunc(value):
做一些不需要中断的事情
即使在其他计算机上的其他进程中,当输入关键节时,在与第一个调用相同的关键节中,第一个调用MyCriticalFunc(1)
MyCriticalFunc(2)


在运行同一关键节时,将忽略对该关键节的后续调用但是,那些跳过的调用会被记住。关键部分完成后,如果跳过了任何调用,则关键部分将再次运行这称为“在跳过时重新运行”。如果不希望在跳过时重新运行,可以将其关闭:

@critsec(在跳过时重新运行=False)
def ThisFunctionIsNotRerunOnSkip(值):
例如:

@critsec(queue=“myqueue”)
def ThisFunctionRunsOnMyQueue():
做一件事



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

推荐PyPI第三方库


热门话题
ApachePOI如何通过java从excel文件中删除空白列?   linux到后台Java服务应用程序的简单发送/接收接口   java ActionBarPullToRefresh什么都没发生   java从millis获取错误的整数天   java相同的代码在两个不同的包上表现不同   java将每个新的char元素写入一个文件(如果被覆盖)   mysql如何在Java中通过外键链接的多个表中插入数据   java环境下mysql网络文件访问   java当使用构建器模式时,为什么我不应该重用builderobject来访问对象配置?   java jQueryServlet post异常失败   java应该使用什么逻辑来创建像《愤怒的小鸟》中那样的锁屏   java Android:在不滑动的情况下更改ViewPager中的片段   java在使用我的程序逻辑时获得空输出