我有一些django微服务。 他们的主要工作量是持续的后台进程,而不是请求处理。
后台进程不断使用Django的ORM,因为我需要破解一些东西才能使它正常工作(它已经做了很长时间),现在我遇到了DB连接问题,因为Django是实际上并没有真正构建用于在后台使用数据库连接,我猜...
在这些情况下总是建议Celery,但在切换整个设计之前,我想知道它是否真的是一个很好的解决方案。
芹菜任务(很多的任务,耗时的任务)可以在后台使用Django的ORM而不会出现问题吗?
答案 0 :(得分:2)
芹菜任务(很多任务,耗时的任务)可以在后台使用Django的ORM而没有问题吗?
是的,取决于您对“问题”的定义: - )
更严重的是:Django ORM性能主要受底层数据库引擎性能特征的限制。
例如,如果您选择的数据库引擎是PostgreSQL,您将能够处理大量的并发连接。
答案 1 :(得分:0)
Celery最初是专门为Django编写的离线任务处理器,虽然它后来被广泛用于处理任何Python代码,但它仍然与Django完美配合。
有多少任务和多长时间与技术选择无关;每个Celery工作程序都作为一个单独的进程运行,因此限制资源将是您的服务器容量。
答案 2 :(得分:0)
您可以使用以下步骤导入django env
event_data