我用Python编写了一个包含多个组件的"项目":有几个不同的Pyramid和Twisted应用程序在运行。
我们正在考虑使用Celery来卸载Pyramid和Twisted的一些工作。需要明确的是,我们看到的是一个Celery实例/config,它处理多个Pyramid和Twisted应用程序的工作。
我在网上找到的所有信息都涵盖了一个或多个应用程序的多个Celery;不是一个Celery适用于多个应用程序。Celery将执行所有这些应用程序通用的4-5项功能。
对于这种设置,是否有任何推荐的策略/常见的陷阱,或者我们通常应该对所有不同项目都导入的独立celery_tasks
包感到满意吗?
它是分布式系统。根据定义,从哪里调用任务并不重要,只要任务由工作者执行,并且调用者能够获取结果。
您应该可以将这两个项目正确配置为发送任务和接收结果。一个具有共同任务的共享模块会很好。
共享工作程序应仅导入该模块。