在服务器上为 Django 应用程序使用 Redis 设置 Celery



我正在尝试设置我的django项目以与Celery和Redis一起工作。我在本地运行它没有问题,但我无法让它在生产服务器中工作。

我的主机建议使用 unixsocket 设置 Redis 并在屏幕中运行 redis:

  • 端口 0
  • Unixsocket/path/redis.sock

这一切都有效,当我运行 redis 时,我得到:

* The server is now ready to accept connections at /here-comes-my-path/redis.sock

现在我有问题:

  1. 如何验证连接?redis-cli -p 0回报Could not connect to Redis at 127.0.0.1:0: Can't assign requested address not connected>
  2. 如何启动芹菜工人?跑步celery -A rbwpredictor worker -l info返回(我已经 xed 敏感数据(:

    Traceback (most recent call last):
    

    文件 "/usr/home/xxxx/.virtualenvs/xxxx/bin/celery",第 6 行,在 来自芹菜。主要进口主要文件"/home/xxx/domain/xxxx/public_python/xxxx/celery.py",第 6 行,在 从芹菜进口芹菜 导入错误:无法导入名称"芹菜">

settings.py 中的我的芹菜设置:

CELERY_RESULT_BACKEND = 'django-db'
CELERY_STATUS_PENDING = 'PENDING'
CELERY_STATUS_STARTED = 'STARTED'
CELERY_STATUS_RETRY = 'RETRY'
CELERY_STATUS_FAILURE = 'FAILURE'
CELERY_STATUS_SUCCESS = 'SUCCESS'

如上所述,本地一切正常,这是我在服务器上挣扎的配置。

您已将 redis 配置为通过 unix 套接字而不是通过标准端口进行通信

要连接 redis-cli,您可以使用

redis-cli -s /here-comes-my-path/redis.sock

你应该重新配置 redis.conf 或只设置BROKER_URL

BROKER_URL = 'redis+socket:///here-comes-my-path/redis.sock'

相关内容

  • 没有找到相关文章

最新更新