我想知道是否可以为异步覆盖的模型运行保存方法?如果是这样,您将如何实施?
答案 0 :(得分:1)
对于Web开发,您必须快速返回响应,并且使用线程或多处理将无济于事(用户将达到超时并且您的任务将失败
解决方案是编写后台任务运行程序(使用类似celery的方法)
当用户发送请求时,您将任务调用发送到celery并调用后台任务,该任务将在另一个进程中运行(创建这些行),并且您可以向用户返回响应,说您的请求正在处理中。
答案 1 :(得分:0)
为什么不使用多处理
from multiprocessing import Pool
pool = Pool(processes=1)
result = pool.apply_async(model.save)
产生一个新的过程来保存您的模型。您还可以使用apply_async
中的其他参数传递诸如路径之类的任何参数。