我有一堆Django请求,执行一些数学计算(用C编写并通过Cython模块执行),可能需要不确定的时间(大约1秒)来执行。此外,这些请求不需要访问数据库,并且彼此独立于Django。
现在,所有内容都是同步的(使用带有“sync”工作程序类型的Gunicorn),但我想使其异步和非阻塞。简而言之,我想做以下几件事:
1.接收AJAX请求 2.将任务分配给可用工作程序(而不会阻塞主Django Web应用程序) 3.工作者以某个未知的时间执行任务 4.Django在任务完成时将计算结果(字符串列表)作为JSON返回
我非常新手异步Django,所以我的问题是什么是最好的堆栈来实现这一点。这种流程是否适合任务队列?是否有人推荐Tornado + Celery + RabbitMQ或其他东西?
提前谢谢!
现在,所有内容都是同步的(使用带有“sync”工作程序类型的Gunicorn),但我想使其异步和非阻塞。简而言之,我想做以下几件事:
1.接收AJAX请求 2.将任务分配给可用工作程序(而不会阻塞主Django Web应用程序) 3.工作者以某个未知的时间执行任务 4.Django在任务完成时将计算结果(字符串列表)作为JSON返回
我非常新手异步Django,所以我的问题是什么是最好的堆栈来实现这一点。这种流程是否适合任务队列?是否有人推荐Tornado + Celery + RabbitMQ或其他东西?
提前谢谢!