@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():
做一件事
此库包含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():
做一件事