我正在使用带有 redistogo addon:nano 包的 heroku 上托管的 django 应用程序。我正在使用 rq,在后台执行任务——这些任务是由在线用户发起的。我害怕连接数量的增加和有限的资源受到限制。
我目前有一个工作人员在运行“n”个队列。每个队列使用连接池中的一个连接实例来处理“n”个不同类型的任务。例如,假设 4 个用户启动相同类型的任务,我想让我的主要工作人员动态创建子进程来处理它。有没有办法实现所需的多处理和并发?
我尝试使用multiprocessing
模块,最初没有介绍Lock()
;但这会使用先前的请求数据公开并覆盖用户传递给启动函数的数据。应用锁后,它通过返回一个限制第二个用户发起请求server error - 500
github 链接 #1:看起来团队正在做 PR;虽然还没有发布!
github 链接 #2:这篇文章有助于解释在运行时创建更多工作人员。然而,这个解决方案也覆盖了数据。新请求再次使用先前的请求数据进行处理。
如果您需要查看一些代码,请告诉我。我将尝试发布一个最小的可重现片段。
有什么想法/建议/指南吗?