我正在Heroku上构建一个Django项目。我知道 gunicorn 被推荐作为网络服务器,所以我需要一个事件循环类型的工作线程,我为此使用 gevent。似乎猴子补丁gevent为我完成了大部分工作,所以我可以并发,但是我应该如何在没有真正线程或干扰整个循环的情况下连接到RabbitMQ?
我对此感到困惑,因为 Heroku 自己推荐 gunicorn、芹菜和 RabbitMQ,但我看不出所有这些是如何协同工作的。
你明白芹菜和古尼角兽有不同的用途吗?
Gunicorn是响应用户请求的网络服务器,为他们提供网页或JSON数据。
Celery 是一个异步任务管理器,即它允许您运行任意 python 代码,而不管对服务器的 Web 请求如何。
你明白这种区别吗?