相关疑难解决方法(0)

如何在virtualenv中为Celery(django-celery)编写Ubuntu Upstart作业

我真的很喜欢使用暴发户.我目前有很多新手工作,可以在许多版本中运行不同的gunicorn实例.但是,我在互联网上找到的芹菜新贵脚本的2-3个例子对我不起作用.

因此,使用以下变量,如何编写Upstart作业以在virtualenv中运行django-celery.

Django项目之路:

/srv/projects/django_project
Run Code Online (Sandbox Code Playgroud)

这个项目的virtualenv的路径:

/srv/environments/django_project
Run Code Online (Sandbox Code Playgroud)

芹菜设置的路径是Django项目设置文件(django-celery):

/srv/projects/django_project/settings.py
Run Code Online (Sandbox Code Playgroud)

此Celery实例的日志文件的路径:

/srv/logs/celery.log
Run Code Online (Sandbox Code Playgroud)

对于此虚拟环境,用户:

iamtheuser
Run Code Online (Sandbox Code Playgroud)

和小组:

www-data
Run Code Online (Sandbox Code Playgroud)

我想用celerybeat运行Celery Daemon,因此,我要传递给django-admin.py(或manage.py)的命令是:

python manage.py celeryd -B
Run Code Online (Sandbox Code Playgroud)

如果脚本在gunicorn作业开始后启动,那将会更好,并且当gunicorn作业停止时停止.让我们说这个文件是:

/etc/init/gunicorn.conf
Run Code Online (Sandbox Code Playgroud)

django ubuntu upstart celery django-celery

15
推荐指数
1
解决办法
8781
查看次数

Celery Daemon在Centos 7上不起作用

我试图在具有systemd / systemctl的Centos 7上运行celery守护程序。它不起作用。

  • 我尝试了一个非守护程序的案例,它奏效了
  • 我运行了〜mytask,它在客户端计算机和运行celery守护程序的服务器上冻结了,我什么都没有记录。
  • 我注意到实际上没有任何芹菜处理程序正在运行。

有什么建议解决此问题吗?

这是我的守护程序默认配置:

CELERYD_NODES="localhost.localdomain"
CELERY_BIN="/tmp/myapp/venv/bin/celery"
CELERY_APP="pipeline"
CELERYD_OPTS="--broker=amqp://192.168.168.111/"
CELERYD_LOG_LEVEL="INFO"
CELERYD_CHDIR="/tmp/myapp"
CELERYD_USER="root"
Run Code Online (Sandbox Code Playgroud)

注意:我使用以下命令启动守护进程

sudo /etc/init.d/celeryd start
Run Code Online (Sandbox Code Playgroud)

我从以下网址获得了celery守护程序脚本:https : //raw.githubusercontent.com/celery/celery/3.1/extra/generic-init.d/celeryd

我还尝试了以下方法之一:https : //raw.githubusercontent.com/celery/celery/3.1/extra/generic-init.d/celeryd, 但这在尝试启动守护程序时向我显示了一个错误:

systemd[1]: Starting LSB: celery task worker daemon...
celeryd[19924]: basename: missing operand
celeryd[19924]: Try 'basename --help' for more information.
celeryd[19924]: Starting : /etc/rc.d/init.d/celeryd: line 193: multi: command not found
celeryd[19924]: [FAILED]
systemd[1]: celeryd.service: control process exited, code=exited status=1
systemd[1]: Failed to start LSB: celery task worker daemon.
systemd[1]: Unit celeryd.service …
Run Code Online (Sandbox Code Playgroud)

python daemon celery systemd centos7

1
推荐指数
1
解决办法
4795
查看次数

标签 统计

celery ×2

centos7 ×1

daemon ×1

django ×1

django-celery ×1

python ×1

systemd ×1

ubuntu ×1

upstart ×1