小编pzt*_*ick的帖子

如何使用Celery守护程序自动重新加载任务模块?

我正在使用Fabric部署一个Celery代理(运行RabbitMQ)和多个Celery工作者,celeryd并通过守护进程supervisor.我不能为我的生活弄清楚如何重新加载tasks.py模块,而不是重新启动服务器.


/etc/supervisor/conf.d/celeryd.conf

[program:celeryd]
directory=/fab-mrv/celeryd
environment=[RABBITMQ crendentials here]
command=xvfb-run celeryd --loglevel=INFO --autoreload
autostart=true
autorestart=true
Run Code Online (Sandbox Code Playgroud)

celeryconfig.py

import os

## Broker settings
BROKER_URL = "amqp://%s:%s@hostname" % (os.environ["RMQU"], os.environ["RMQP"])

# List of modules to import when celery starts.
CELERY_IMPORTS = ("tasks", )

## Using the database to store task state and results.
CELERY_RESULT_BACKEND = "amqp"

CELERYD_POOL_RESTARTS = True
Run Code Online (Sandbox Code Playgroud)

附加信息

  • celery --version 3.0.19(Chiastic Slide)
  • python --version 2.7.3
  • lsb_release -a Ubuntu 12.04.2 LTS
  • rabbitmqctl status ...... 2.7.1 ......

以下是我尝试过的一些事情:

  • 该 …

python celery

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

如何检索Elastic Beanstalk部署的合理stdout/stderr日志记录

当我尝试弹性beanstalk部署时,我的一个container_commands可能会失败.不幸的是,弹性beanstalk日志eb-commandprocessor.log仅报告非零退出状态:

Error occurred during build: Command 08_collectstatic failed (Executor::NonZeroExitStatus)

由于Unicode字符,其余的stdout/ stderr显然无法记录.(由于Unicode引号等原因,我已成功排除其他失败命令的故障).我已附上以下日志.


举个例子,做一些ln -s Gruntfile.js Gruntfile.js会引起错误的事情ln: failed to create symbolic link ‘Gruntfile.js’: File exists.左右角引号是Unicode和不安的Elastic Beanstalk日志记录 - 显然.

我真的需要stdout/stderr的合理输出来解决容器命令失败中的底层问题,我不知道如何修补EB来记录这个.我怎样才能做到这一点?


.ebextensions/05_container_commands.config

option_settings:
  - namespace: aws:elasticbeanstalk:container:python:staticfiles
    option_name: /static/
    value: static/
  - namespace: aws:elasticbeanstalk:container:python
    option_name: WSGIPath
    value: wsgi.py
  - option_name: DJANGO_SETTINGS_MODULE
    value: settings

container_commands:
  08_collectstatic:
    command: "python manage.py collectstatic --noinput"
Run Code Online (Sandbox Code Playgroud)


/var/log/eb-commandprocessor.log

-------------------------------------
/var/log/eb-commandprocessor.log
-------------------------------------
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-elastic-beanstalk codeship

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