我试图执行一个耗时的后端作业,由前端调用执行。这个后端作业在完成时应该执行一个回调方法,这将释放一个信号量。前端不需要等待漫长的过程才能完成,以便获得电话响应以启动工作。在Python 2.6中使用回调异步执行方法
我想从多处理库中使用Pool类来解决这个问题,但我遇到了一些问题。也就是说,似乎实际执行传递给apply_async的方法的唯一方法是调用apply_async调用返回的ApplyResult对象中的.get()方法。
为了解决这个问题,我想创建一个Process对象,其目标是apply_result.get。但这似乎并不奏效。
有没有一个基本的理解,我在这里失踪?你会怎样建议解决这个问题。
这里是什么,我现在所拥有的一个片段例如:
p = Pool(1)
result = p.apply_async(long_process, args=(config, requester), callback=complete_long_process)
Process(target=result.get).start()
response = {'status': 'success', 'message': 'Job started for {0}'.format(requester)}
return jsonify(response)
感谢提前的帮助!