jjzjj

supervisord

全部标签

php - 为什么主管无法启动程序?

我正在使用带有Redis的laravel队列作业,并使用supervisor来管理多个worker。我有不止一个numprocs可以完美地工作几天,然后主管下降即使主管处于事件状态。因为在supervisor中,当supervisord失败超过配置文件中设置的startretries值以启动程序/worker时,程序/worker将进入FATALSTATE然后它不会处理任何工作,所以当所有worker都进入这种状态时,主管就会倒下。然后我们需要手动重启Supervisor,重新开始处理。但这不是一个合适的解决方案。我的问题是为什么supervisor无法启动,解决方案是什么?引用主管文

php - laravel如何执行多个后台进程?

首先,我了解队列并且现在对队列有很好的体验。队列的问题是,它是一个队列。我想在后台同时执行多个功能或命令。队列会将第二个命令或函数保留在队列中,并在第一个完成执行后执行!例如,我有一个包含约3,000,000条记录的表,我想更快地处理它们。我能做的是将它们分成5个相等的block并总共执行5个命令,这样我就可以利用我的CPU以及处理数据的速度提高5倍。那么,我如何使用Laravel做到这一点?队列不会工作,因为它们一个接一个地执行任务。如果您的想法是创建多个5多个队列和主管来完成,我认为这不是标准的方法。关于在这种情况下可以做什么的任何想法? 最佳答案

php - 无法在后台和守护进程中运行 artisan redis :subscribe command as service,

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭3年前。Improvethisquestion我正在尝试在后台模式下将redis:subscribeartisan命令作为服务运行,并且需要该脚本不会因错误而死掉。我试过Supervisor,但没有结果。你有什么建议吗?操作系统:CentOS7语言:PHP框架:Laravel

django - 使用 Django 应用程序的主管对运行 celery worker 进行故障排除

我有一个Django应用程序,我的目标是通过celery通过redis运行任务。项目文件夹结构如下:/mhb11/myfolder/myproject├──myproject│├──celery.py#TheCeleryappfile│├──__init__.py#Theprojectmodulefile(modified)│├──settings.py#IncludingCelerysettings│├──urls.py│└──wsgi.py├──manage.py├──celerybeat-schedule└──myapp├──__init__.py├──models.py├──t

Python进程管理神器——Supervisor

一、简介Supervisor是一款Python开发的进程管理系统,允许用户监视和控制Linux上的进程,能将一个普通命令行进程变为后台守护进程,异常退出时能自动重启详细介绍查阅:SupervisorIntroduction二、安装Supervisor支持Linux和Mac,不支持Windows本文系统为:centos,supervisor==4.2.4pip3installsupervisor安装完成后,在Pythonbin目录下面会有这样几个文件。ls/usr/local/Python38/binecho_supervisord_confsupervisorctlsupervisord注:由

python - 运行节拍时看不到我的 celery 日志

我正在通过supervisord启动celery,请参阅下面的条目。[program:celery]user=foobarautostart=trueautorestart=truedirectory=/opt/src/slicephone/cloudcommand=/opt/virtenvs/django_slice/bin/celerybeat--app=cloud-lDEBUG-s/home/foobar/run/celerybeat-schedule--pidfile=/home/foobar/run/celerybeat.pidpriority=100stdout_logfi

python - Gunicorn 和主管背后的 Flask - 记录所有请求和响应

我继承了一个运行在gunicorn和supervisor后面的flask服务器。在我想查看的日志文件中:所有传入请求所有外发回复我有多个gunicornworker。我的gunicorn.conf.py看起来像这样:importmultiprocessingbind="0.0.0.0:8000"workers=multiprocessing.cpu_count()*2+1worker_class='gevent'max_requests=1000timeout=30keep_alive=2preload=Truesupervisor的gunicorn.conf看起来像这样:[progr

python - Tornado 不会在主管中干净地重新启动

我正在使用tornado来运行一个flask应用程序,我有一个shell脚本,它会做一些工作然后运行该应用程序。#!/usr/bin/envbashsome_workmore_workpython/usr/share/theapp/theapp.py我使用supervisor来管理这个小脚本。启动正常(sudosupervisorctlstarttheapp.sh),但是当我想重新启动时,python子进程不退出并挂起,占用端口并阻止再次启动。我已经尝试添加陷阱以确保当主管停止脚本时python代码真的停止了,但这没有用。我试过为gevent的wsgi服务器换掉Tornado,但遇到了

python - supervisord 环境变量设置应用程序

我正在运行来自supervisord的应用程序,我必须为其设置环境。大约有30个环境变量需要设置。我试过把所有东西放在一个大的上环境=行,这似乎不起作用。我还尝试了多个enviroment=行,但似乎也不起作用。我也尝试过使用和不使用'围绕env值。设置我的环境以使其在监督控制下保持完好无损的最佳方式是什么?我是否应该从预加载环境的shell脚本调用我的实际程序(tornado,fwiw)?理想情况下,我想将所有环境变量放入一个包含文件中并使用supervisor加载它们,但我愿意以另一种方式进行。更新:这是我在conf文件中使用的内容:environment=PYTHONPATH=/

python - 从数据库中断中恢复 Celery

我在Fedora机器上运行Celeryd/RabbitMQ,与MySQL通信数据库在一个单独的盒子上。我注意到,在极少数情况下,如果连接到MySQL数据库时甚至出现最轻微的问题(即使是几秒钟),celeryd会因错误而崩溃:OperationalError:(2003,"Can'tconnecttoMySQLserveron'mydatabasedomain'(111)")即使数据库再次可用,也无法重新连接。目前,我不得不手动重启celeryd服务来获取celery再次运行。有没有更优雅和自动的方式从这些类型的事件中恢复?celery有什么特点吗只是安静地等待,记录Operationa