使用supervisor后台运行celery
一、先安装supervisor
1、安装命令:
$ pip install supervisor
如果在沙盒环境下安装不上的话使用:
$ apt-get install supervisor
二、安装celery
$ pip install celery
三、对supervisor进行配置
1、生成默认配置文件
$ echo_supervisord_conf > /etc/supervisord.conf
在这里你也可以自定义默认配置文件生成的位置,前提是/etc目录下先去创建你的要放置配置文件的目录
假如我们创建了一个叫做supervisor的文件夹
然后将默认配置文件放到这个文件夹里面
$ echo_supervisord_conf > /etc/supervisor/supervisord.conf
2、修改配置文件
$ vim /etc/supercisor/supervisord.conf
在最后一行添加
files = /etc/supervisor/supervisord.conf.d/*.conf
[include]
;files = /etc/supervisor/conf.d/*.conf
files = /etc/supervisor/supervisord.conf.d/*.conf
然后进入supervisord.conf.d文件夹,创建celeryd_worker.conf文件并进行如下配置:
[program:celeryworker] # 这个是进程的名字,随意起
command=celery -A bookstore worker -l info # 要运行的命令
directory=/home/fhx/git_test1/bookstore # 运行命令的目录
numprocs=1
# 设置log的路径
stdout_logfile=/var/log/supervisor/celeryworker.log
stderr_logfile=/var/log/supervisor/celeryworker.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 600
priority=15
下面是网上找的另外一个配置的例子,说得更加详细一些:使用的是
[program: ProjectName]
command=dotnet ProjectName.dll ; 运行程序的命令
directory=/root/Publishing/PublishOutput/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
autostart=true ; 是否自动启动
stderr_logfile=/var/log/ProjectName.err.log ; 错误日志文件
stdout_logfile=/var/log/ProjectName.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
startsecs=1 ; 自动重启间隔
3、使用我们修改的配置文件启动supervisor
supervisord -c /etc/supervisor/supervisord.conf
如果遇到报错信息为端口正在被占用的话运行下面的命令
unlink /var/run/supervisor.sock
# 或者
unlink /tmp/supervisor.sock
之后再运行上面的启动supervisor命令
4、supervisorctl 命令来看我们supervisor的运行状态
你将可以看到如下的显示就表示你的后台celery已经启动成功了:supervisorctl status
celeryworker RUNNING pid 17682, uptime 0:17:06
supervisorctl的使用就不在赘述了只说几条简单的命令:
status # 查看状态
reread # 读取配置信息
update # 加载最新的进程
stop # 停止进程
start # 启动进程
reload # 重新加载配置
参考文档: 1 https://www.jianshu.com/p/222d85c3833e
使用supervisor后台运行celery的更多相关文章
- Linux scp 设置nohup后台运行
Linux scp 设置nohup后台运行 1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继 ...
- docker进入后台运行的容器
转载请注明出处 我们运行docker容器的时候,使用了-d参数,把容器在后台运行后. 这个时候,我们使用docker ps命令,我们就可以知道哪些程序在后台运行. 我们要怎么进入到docker ...
- python脚本后台运行
问题描述: 环境: CentOS6.4 一个用python写的监控脚本test1.py,用while True方式一直运行,在ssh远程(使用putty终端)时通过以下命令启动脚本: python t ...
- linux 让程序在后台运行的几种可靠方法
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...
- linux进程后台运行及输出重定向
本机环境为ubuntu 14.04 以ping www.baidu.com为例: 1.程序的前台运行 ping www.baidu.com 可以看到,屏幕上输出了baidu返回的结果 2.实现程序后台 ...
- APP长时间后台运行
* 参考:http://www.nivalxer.com/archives/187 首先,我要说明的是在iOS中,一般应用程序在后台挂起之后仅拥有3分钟时间来处理相应的未完成事件,但是3分钟之后就会 ...
- iOS开发小技巧--iOS程序进入后台运行的实现
iOS程序进入后台运行的实现 视频中看到老师用的iOS7,代码中有开启timer,无限请求数据的功能,但是切换到后台,代码就不打印了 自己用的iOS9,进入后台还是可以打印的,再次进入前台也可以正常运 ...
- python程序一直在后台运行的解决办法
刚写了个python程序,要一直在后台运行,即使断开ssh进程也在,下面是解决办法: 假如Python程序为test.py 编写shell脚本start.sh #!/bin/bash python t ...
- tomcat 开机后台运行
引用:http://jingyan.baidu.com/article/a65957f4b12b8724e77f9b5a.html Tomcat是Apache 软件基金会(Apache Softwar ...
- IOS零碎技术整理(1)-后台运行
这两天做关于离线通知的功能,总结了一点关于这方面的注意点:按Home键回到桌面后程序很快被挂起,系统将关闭程序的Socket监听,此时程序将不能继续执行网络请求等操作. 两种方式可以使程序继续存活一段 ...
随机推荐
- Netty-核心模块组件-4
Netty 核心模块组件 一.Bootstrap.ServerBootstrap 1.Bootstrap 意思是引导,一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 N ...
- WinForm之ComboBox实现模糊查询
ComboBox实现模糊查询 第一步:在Form_Load事件中绑定数据源 第二步:写一个方法,返回一个List<string>类型的集合来存储控件中的Items 第三步:在Form_Lo ...
- 5、后端学习规划:.Net学习 - 学习规划系列文章
.Net是微软发布的一整套的软件编程解决方案.笔者从大学的时代开始就阅读.netframework的书籍了,但是当时没有进行实践.毕业后,笔者去了微软技术中心的公司上班,所以就接触了.net以及C#编 ...
- Docker从认识到实践再到底层原理(二-2)|Namespace+cgroups
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...
- CF911G Mass Change Queries 题解
题目链接:CF 或者 洛谷 前置知识点:平衡树合并: CF文章 与维基百科 看上去这题有很多人用线段树分裂与合并去做,其实这种需要分裂和合并的,我们用文艺平衡树去维护区间信息是最容易写的. 考虑本题的 ...
- 基于IO端口检测虚拟机
通过执行特权指令探测 Vmware: 因为在虚拟机中指定功能号 0xa 则会从指定端口获取虚拟机版本信息到指定的目的操作数地址: 另外 0x14 则是获取虚拟机内存大小,当获取的值大于0说明在虚拟机中 ...
- ASP.NET Core分布式项目实战(Consent 代码重构)--学习笔记
任务23:Consent 代码重构 新建一个 Sercices 文件夹,在文件夹下新建一个 ConsentService,专门用于处理 Consent 的逻辑,我们会把 controller 中不是 ...
- IIS配置跨域
在IIS里找到HTTP响应标头 添加如下两个标头 Access-Control-Allow-Headers:Content-Type, api_key, Authorization Access-Co ...
- NC15162 小H的询问
题目链接 题目 题目描述 小H给你一个数组 \(a\) ,要求支持以下两种操作: 0 l r \((1 \leq l \leq r \leq n)\),询问区间 \([l,r]\) 中权值和最大的有效 ...
- std::async 与 std::thread 在什么时候使用比较合适
前提: C++ 11 中提供了多线程的标准库,提供了管理线程.保护共享数据.线程间同步操作.原子操作等类.多线程库对应的头文件是 #include <thread>,类名为 std::th ...