当前位置: 首页 > 知识库问答 >
问题:

用于烧瓶应用的芹菜配置

慕才
2023-03-14

我已将芹菜配置为在dev box上为Flask应用程序运行异步作业,如下所示:

配置。py:

class CeleryConfig(object):
   CELERY_BROKER_URL = 'redis://localhost:6379/0'
   CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
CELERY_CONFIG = CeleryConfig

管理py:

celery_app = celery.Celery(config_source=app.config.get('CELERY_CONFIG'))

def run_celery():
    appl = celery.current_app._get_current_object()
    celery_worker = celery_worker.worker(app=appl)
    options = {
        'broker': config.get('CELERY_CONFIG').CELERY_BROKER_URL,
        'traceback': True,
    }
    celery_worker.run(**options)

在启动应用程序之前,我先启动redis:

./redis-server --daemonize yes

然后,当我运行应用程序(run_芹菜)时,会显示以下芹菜配置:

    <>** ---------- .

以及以下重复出现的错误:

错误/主进程消费者:无法连接到amqp://guest:**@127.0.0.1:5672//:[Errno 111]连接拒绝。

我不知道为什么传输层使用RabbitMQ,为什么我不能启动芹菜。

共有1个答案

丁茂
2023-03-14

这是因为参数是BROKER\u URL,而不是cellery\u BROKER\u URL。以下是可能设置的完整列表:http://docs.celeryproject.org/en/latest/userguide/configuration.html#new-小写设置

注意:该表是Celery 4.0中新小写设置的转换表,但如上所述:“Celery仍然能够读取旧的配置文件,所以不急于移动到新的设置格式”

 类似资料:
  • 在过去的几周里,我花了太多的时间试图让它发挥作用。我的目标是使用烧瓶框架创建一个简单的网络应用程序,但我不断收到错误,几个小时的谷歌搜索和搜索stackoverflow也没有帮助。 我正在学习一个教程,该教程要求我运行:$python3 routes.py 只有我才能得到以下错误: 回溯(最近的最后一次调用):文件“routes.py”,第1行,从flask导入flask中,呈现\u模板导入错误:

  • 我已经用flask在python上制作了一个restapi(端口:5000),我正在从一个网站(端口:80)发出get和post请求。我收到了cors错误,所以我尝试在RESTAPI中为站点创建一个响应头。但是我得到了导入错误: 我已经下载了烧瓶cors模块并升级它,并确保它是在正确的路径,但它仍然不工作。 API代码:

  • 我基本上使用了install命令“$pip install Flask”,当我试图运行一个程序时,它会说“找不到模块”Flask安装在“/usr/local/lib/python2.7/site包”中,但我认为pip的意义在于,我可以到处导入这些包。我试图在我的桌面上运行一个文件,甚至当我将Flask文件夹移动到桌面上时,它也不起作用。有什么建议吗?谢谢

  • 我在应用程序帐户下有一个linux apache 2.4.12和mod_wsgi4.5.2(mod_wsgi.so安装到apache中)。Apache在应用程序帐户下的端口8050下运行。按照这个链接测试mod_wsgi工作:http://modwsgi.readthedocs.org/en/develop/user-guides/quick-configuration-guide.html#ws

  • 现在,我想将< code>register事件发布到某个特殊的交换,我可以使用celery远程检索和处理它。 实际上,我已经使用了函数来实现这一点,但是它必须传递来指示应该执行哪个任务并消费它。所以它似乎不太适合我的目标。 我想要的就是这样: 向某些发布消息; 远程机器1订阅此或并捕获消息,用于执行任务; 远程机器2-与机器1相同但执行另一个任务-接收(可能需要回复某些) 例如,就像这个工作流一样

  • 我正在开发一个用python运行的应用程序(始终是热泵系统的控制器),我使用flask提供一个用户界面来控制应用程序。 烧瓶应用程序有不同的控制项,例如打开或关闭系统的按钮。 我试图从python模块执行一个特定的功能,以响应按钮上的“单击”(最终目标是更改mmap资源中的一个值,该值将在另一个模块中读取以更改系统的状态)。 在flask应用程序中,我有如下内容: 但是,这会产生“内部服务器错误”