芹菜插件,增加了优雅的停止工作能力

celery-graceful-stop的Python项目详细描述


#芹菜优雅的停止

[芹菜](http://celeryproject.org)插件提供了优雅的工人停止的能力。

#问题 长时间运行任务的生产部署要求正常停止工作进程。不幸的是芹菜有不同的行为:

  1. 通过芹菜接收信号,结果开始warm shutdown过程。由于此过程,inspectcontrol命令将不可用。
  2. 此外,所有任务都由第二个sigterm使用cold shutdown过程强制终止。

此模块提供了解决此问题的更一致的方法,它

  1. 重写sigterm接收器以防止默认的warm shutdowncold shutdown工作进程行为,
  2. 强制inspectcontrol命令在接收到sigterm信号后仍能工作。

#安装和设置

` pip install git+https://github.com/MnogoByte/celery-graceful-stop.git `

用以下行附加您的proj/celeriy.pyfile containgapp实例。

`python import celery_graceful_stop celery_graceful_stop.register(app) `

#设置

  • 芹菜优雅的停止(布尔值)。控制优美的停止功能。(true默认设置)

#与systemd一起使用

  1. 为每个工人定义一个服务(systemd只需要一个masterpid来重新启动)。
  2. 为每个工人提供/etc/conf.d/celeriry\lt;service\u name>;配置文件。
  3. 将[芹菜@.service](systemd/celeriy@.service)文件添加到系统中。
  4. 使用systemctl enable celeriy@<;service_name>;注册您的服务。

#限制

  • 此模块在接收到sigterm信号后禁用池收缩池增长自动缩放池重新加载添加消费者取消消费者控制命令。实际上,当worker关闭时,您不需要调用它们,因为worker不会启动新任务。
  • 此模块仅在pool=prefork的芹菜3.1中测试过。

#作者

[安东诺夫·米哈伊尔](https://github.com/atin65536

#许可证

BSD-3

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

推荐PyPI第三方库


热门话题
io如何从java中的远程FileInputStream中知道扩展名为的文件名   java spring引导不会为JSP返回404,除非编译tomcat maven依赖范围?   ArchUnit:如何避免对java类的依赖冲突   java Hibernate很多都不工作   java tomcat基于表单的身份验证数据源配置错误   java将随机对象声明为私有静态最终属性可以吗?   java Sobel筛选器无法正常工作   我想用java为hangman乘以一个字符串   当我试图运行部署在Tomcat中的任何项目时,ubuntu上的java Tomcat服务器将自动关闭   java更高效地读取按字母顺序排序的文本文件   java Android Studio“尚未附加片段”   在JavaServlet中使用从一种形式到另一种形式的数据的html   检测Java中打开的文件夹(JNativeHook)   jakarta ee Hibernate映射异常:实体映射中的重复列   httpSession在Java中使用什么方法进行会话管理   java如何将两个类的代码外包到一个新的类中,以便两个类都可以调用该方法