我試圖執行一個耗時的後端作業,由前端調用執行。這個後端作業在完成時應該執行一個回調方法,這將釋放一個信號量。前端不需要等待漫長的過程才能完成,以便獲得電話響應以啓動工作。在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)
感謝提前的幫助!