文件名称:celery-singleton:无缝地防止重复执行芹菜任务
文件大小:24KB
文件格式:ZIP
更新时间:2024-05-30 02:51:53
python redis rate-limiting celery distributed-locks
芹菜单身 重复的任务阻塞了您的消息代理? 基于时间的速率限制会让您感到恶心吗? 别再看了! 这是celery任务的基类,可确保在任何给定时间只能将任务的一个实例排队或运行。 使用任务的名称和参数来确定唯一性。 目录 先决条件 celery-singleton使用任务的delay()或apply_async()参数的JSON表示来生成唯一锁,并将其存储在redis中。 默认情况下,它使用celery 的redis服务器。 如果您使用其他/无结果后端,或者想为celery-singleton使用其他Redis服务器,请参阅以了解如何自定义Redis。 要使用Redis以外的其他东西,请参阅后端部分 因此,要点是: 确保所有任务参数都可以JSON序列化 您的celery应用配置了Redis结果后端,或者您在配置中指定了另一个Redis /兼容后端 如果您已经在使用Redis后端和大多数默认的
【文件预览】:
celery-singleton-master
----MANIFEST.in(25B)
----.travis.yml(320B)
----poetry.lock(21KB)
----pyproject.toml(528B)
----sample()
--------sample.py(846B)
----tests()
--------test_backends.py(4KB)
--------conftest.py(172B)
--------test_config.py(3KB)
--------test_singleton.py(10KB)
----LICENSE(1KB)
----setup.cfg(61B)
----.gitignore(1KB)
----celery_singleton()
--------util.py(399B)
--------__init__.py(112B)
--------singleton.py(4KB)
--------backends()
--------config.py(1KB)
--------exceptions.py(332B)
----CHANGELOG.md(859B)
----README.md(11KB)