通过 NSSM 把 FastAPI+Celery+Flower 注册成 3个Windos 服务
通过 NSSM 把 FastAPI+Celery+Flower 注册成 3个Windos 服务
什么是 nssm?
是一个服务封装程序,它可以将普通exe程序封装成服务,实现开机自启动,同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。nssm官网
nssm 常用命令
nssm install servername //创建servername服务,弹出配置界面
nssm start servername //启动服务
nssm stop servername //暂停服务
nssm restart servername //重新启动服务
nssm remove servername //删除创建的servername服务
nssm edit servername//更改servername服务,弹出修改界面
nssm set servername 参数名 参数值 //设置服务参数值
1. 启动 FastAPI 服务
需要使用下面的脚本startup.py
,内容如下:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
"""
@ File : startup.py
@ Author : yqbao
@ Version : V1.0.0
"""
import uvicorn
if __name__ == '__main__':
config = uvicorn.Config('main:app', host='0.0.0.0', port=8888)
server = uvicorn.Server(config)
server.run()
nssm 配置,等同与命令python startup.py
Path:D:\Projects\verification-code-cracking-service\venv38\Scripts\python.exe
Startup directory:D:\Projects\verification-code-cracking-service
Arguments:startup.py
Service name:MyServiceFastAPI
2. 启动 Celery 服务
nssm 配置,等同与命令celery -A main.celery worker -l info -Q celery,user -P gevent -c 10
Path:D:\Projects\verification-code-cracking-service\venv38\Scripts\celery.exe
Startup directory:D:\Projects\verification-code-cracking-service
Arguments:-A main.celery worker -l info -Q celery,user -P gevent -c 10
Service name:MyServiceCelery
在 I/O 栏,可以将日志指定位置输出
3. 启动 Flower 服务
nssm 配置,等同与命令celery -A main.celery flower --port=5555
Path:D:\Projects\verification-code-cracking-service\venv38\Scripts\celery.exe
Startup directory:D:\Projects\verification-code-cracking-service
Arguments:-A main.celery flower --port=5555
Service name:MyServiceFlower
在 I/O 栏,可以将日志指定位置输出
本文来自博客园作者:星尘的博客,转载请注明出处:https://www.cnblogs.com/yqbaowo/p/18349229