Python 芹菜工人与gevent池始终使用默认配置

Python 芹菜工人与gevent池始终使用默认配置,python,python-3.x,celery,Python,Python 3.x,Celery,当我尝试使用gevent池运行芹菜工人时,它使用默认的代理URL(amqp://guest:**@localhost:5672/) 这里是worker/celeryconfig.py的一部分 # actual dockerized rabbitmq broker url (amqp://admin:**@172.17.0.3:5672//) broker_url = "amqp://{user}:{password}@{host}:{port}/".format( user=os.env

当我尝试使用gevent池运行芹菜工人时,它使用默认的代理URL(amqp://guest:**@localhost:5672/)

这里是worker/celeryconfig.py的一部分

# actual dockerized rabbitmq broker url (amqp://admin:**@172.17.0.3:5672//)
broker_url = "amqp://{user}:{password}@{host}:{port}/".format(
    user=os.environ['RABBITMQ_ENV_RABBITMQ_USER'],
    password=os.environ['RABBITMQ_ENV_RABBITMQ_PASS'],
    host=os.environ['RABBITMQ_PORT_5672_TCP_ADDR'],
    port=os.environ['RABBITMQ_PORT_5672_TCP_PORT']
)
  • python 3.6
  • 芹菜4.0.2
  • gevent 1.2.1

您的问题不清楚您是如何试图覆盖broker\u url的配置设置的。@postoronnim它位于我的代码块底部(worker/celeryconfig.py中的broker\u url。--config worker.celeryconfig)。你是这个意思吗?我的意思是,我看到了url定义,但我没有看到你在哪里覆盖默认值。在底部,您显示了试图动态分配url的脚本的一部分。您可以对其使用ConfigParser模块。@postoronnim我正在覆盖worker/celeryconfig.py中的默认代理url--config worker.celeryconfig应该覆盖默认的芹菜配置。如果您正在从命令行调用worker,它将不会看到您的脚本。将所有内容放入脚本中,并仅从命令行运行脚本。
# actual dockerized rabbitmq broker url (amqp://admin:**@172.17.0.3:5672//)
broker_url = "amqp://{user}:{password}@{host}:{port}/".format(
    user=os.environ['RABBITMQ_ENV_RABBITMQ_USER'],
    password=os.environ['RABBITMQ_ENV_RABBITMQ_PASS'],
    host=os.environ['RABBITMQ_PORT_5672_TCP_ADDR'],
    port=os.environ['RABBITMQ_PORT_5672_TCP_PORT']
)