簡體   English   中英

在Django視圖中分叉進程

[英]forking a process within a django view

我有一個Web服務,它會啟動一個過程,該過程可能需要一分鍾的時間。 我想返回一個204,上面寫着“我已成功收到您的請求”,但在后台運行了緩慢的過程。

我試圖通過分叉這樣的另一個過程來做到這一點:

p = Process(target = modelObj.slowProcess) 
p.start()
logger.debug('sending 204')
return HttpResponse( status=204)

這部分代碼似乎執行得很好,但是使django組件崩潰了。 將打印debug語句,並執行該過程,但是當我查看chrome調試器中的網絡流量時,它說上傳狀態為“已取消”。 由於我尚未在瀏覽器端取消該事件,因此我認為這意味着連接已終止。 我從服務器再也沒有收到任何響應,所以看來我在某種程度上打破了請求流程。

我如何分叉該單獨的過程,但仍要交付204?

這些評論告訴我我做錯了什么。

有問題的請求來自正在上傳文件的隱藏iframe。 在許多情況下,您可以將其視為ajax請求,但是如果iframe返回204,就會出現問題。 盡管該內容並未做任何實質性的工作,但iframe必須獲取一些內容事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM