我有一个桌面应用程序,我正在移植到Django webapp应用程序。这个应用程序有一些计算量很大的部分(使用numpy、scipy和大熊猫等库)。显然,将计算密集型代码导入webapp并运行它并不是一个好主意,因为这将迫使客户端等待响应。
因此,您必须将这些任务分解到一个后台进程,该进程通知客户端(我猜是通过AJAX )并/或在完成后将结果存储在数据库中。
在多个并发用户的情况下,您也不希望所有这些任务同时运行,因为这是一种很好的方法,即使有少量并发请求,也可以使服务器陷入瘫痪。理想情况下,您希望way应用程序的每个实例将其任务放入作业队列中,然后以最佳方式自动运行它们(基于内核数量、可用内存等)。
有什么好的Python库可以帮助解决这类问题吗?在这种情况下,人们是否会使用一般的策略?或者,这只是选择一个好的批处理调度程序并为每个进程生成一个新的Python解释器的问题吗?
发布于 2014-09-09 18:01:19
https://stackoverflow.com/questions/25750764
复制相似问题