windows守护进程Celery服务设置

windows守护进程Celery服务设置

1.方案

经过查找,windows环境下守护进程方式运行celery的几种实现方式

  1. NSSM

    NSSM是Windows环境下一款免安装的服务管理软件,它可以将应用封装成服务,使之像windows服务可以设置自动启动等。并且可以监控程序运行状态,程序异常中断后自动启动,实现守护进程的功能。不仅支持图形界面操作,也完全支持命令行设置。

  2. Forever

    Forever 是一种简单的命令行界面工具,用于确保特定脚本持续(永久)运行。Forever 的简单界面使其成为运行 Node.js 应用程序和脚本的较小部署的理想选择。

    经过一番折腾后,发现forever可以管理直接运行的Python脚本,但是运行celery worker时,无法设置复杂的参数。

  3. Task Scheduler

    Windows自带的计划任务,celery 官网有提到这种方案Windows Tip: Run applications in the background using Task Scheduler,但是尝试未果。

  4. 自己写Python守护进程脚本

    由于时间关系,此方案未尝试,有兴趣可以参考下面的文章。

    Python 编写Windows服务程序:将Python作为Windows服务启动
    Python实例浅谈之五Python守护进程和脚本单例运行
    python 版的守护进程和Windows服务

2.NSSM

2.1 NSSM安装

将NSSM压缩包解压并放在安装的目录。将NSSM中win64(我的电脑为64位)加入环境变量。

celery 的版本不能高于4.0,因为4.0以后不支持windows了

2.2 NSSM安装celery服务

一定要以管理员的身份打开终端 ,否则可能无法建立服务

2.2.1 安装Beat服务

nssm install celery-demo-beat “C:\Python27\Script\celery.exe”

Service "celery-demo-beat" installed successfully!

安装一个服务名为celery-demo-beat的服务,程序为celery

nssm set celery-demo-beat AppDirectory D:\celery-demo

Set parameter "AppDirectory" for service "celery-demo-beat".

设置服务运行的文件夹,就是celery程序所在的文件夹

nssm set celery-demo-beat AppParameters -A celery_app -beat --loglevel=debug --config=run

Set parameter "AppParameters" for service "celery-demo-beat"

设置应用的执行的参数,celery_app为celery应用名

nssm start celery-demo-beat

celery-demo-beat: START: 操作成功完成

启动应用服务

nssm status celery-demo-beat

SERVICE_RUNNING

2.2.2 安装worker服务

nssm install celery-demo-worker “C:\Python27\Script\celery.exe”

Service "celery-demo-worker" installed successfully!

安装celery-demo-worker服务

nssm set celery-demo-worker AppDirectory D:\celery-demo

Set parameter "AppDirectory" for service "celery-demo-worker"

设置工作目录

nssm set celery-demo-worker AppParameters -A celery_app worker --loglevel=debug -c 1

设置运行参数

nssm start celery-demo-worker

celery-demo-worker: START: 操作成功完成

nssm status celery-demo-worker

SERVICE_RUNNING

如果出现错误一般都是命令设置的错误,可以检查一下

2.3 NSSM 其他命令

2.3.1 安装服务

nssm install […]

2.3.2 启动服务

nssm start

2.3.3 停止服务

nssm stop

2.3.4 重启服务

nssm restart

2.3.5 查看服务状态

nssm status

2.3.6 手动轮转日志文件

nssm rotate

2.3.7 删除服务

nssm remove [confirm]

2.3.8 获取某项配置信息

nssm get [subparameter]

2.3.9 单独设置某项配置

nssm set [subparameter] value

2.3.10 重置某项配置

nssm reset [subparameter]

2.3.11 暂停/继续服务

nssm pause
nssm continue

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值