确保单个进程正在运行。使用锁文件和进程检查。

sing的Python项目详细描述


pypibuildDocumentation StatusUpdates

确保单个进程正在运行。使用锁文件和进程检查。

为什么?

有时您希望流程最多运行一次,例如 计划的cron作业,在重新启动之前应始终完成。那个 是我的案子。

安装

pip install sing

示例

通常,在文件的开头,您可能要声明 您希望成为单个实例:

fromsingimportsingleassertsingle()

就这样,对于大多数用例,您不需要其他任何东西。这个 如果锁已经被占用,assert将失败。

这使用一个pid锁文件,在一个临时文件夹中来确保这一点。更多关于 在sing.py

在这种情况下,您可能希望授予来自同一进程的所有锁 你需要。

assertsingle(allow_all_from_this_process=True)

你可能有不同的子部分,你想有不同的 锁,即使你在同一个进程中,它们都会返回 正确:

single(flavor='first')single(flavor='second')

最后,如果有一个pid文件,但是进程终止了,您可能希望 把锁打开。使用ensure_process_running检查它。

注释

学分

此包是用 Cookiecutteraudreyr/cookiecutter-pypackage 项目模板。

很多灵感来自 pycontribs/tendo服务 同样的目的。我需要PID文件,并允许相同的进程授权,所以 做了这个包裹。

历史

0.1.0(2018-02-25)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
java未从Facebook OAuth接收名字、姓氏和姓氏   我自己代码中的java ConcurrentModificationException   java在Android上获得单像素TIFF图像   java图形输出中的swing集成弹出窗口“通知”   将数据库表中的所有数据集插入jTable Java   java如何使用Hibernate获取不完整的集合?   打印无法从java连接到打印机   java使用分隔符拆分带引号的字符串   java Axis2禁用严格验证(wsdl2java中的Eosv)允许什么,如何使其更加严格?   java有人能帮我处理循环代码吗   java将JsonObject数组转换为整数   JavaXWiki扩展:检测事件空间创建   java如何设置图表的文本方向以使用poi旋转所有文本?   eche RecyclerView项的java Set自定义字体   java单元测试带有私有构造函数的spring组件,无需注入   用户界面如何在java中动态显示一组多个元素?   如何从java应用程序调用IDL(交互式数据语言)?   Java的内置库实现