這種情況是:當用戶上傳圖片時,我們在服務器上進行圖片大小調整,而不是等待這個工作完成,我希望它響應用戶立即。如果有一個線程可用,我會恰當地使用線程來完成這個任務,但據我所知,php中沒有線程,那麼我怎麼能實現這個目標?感謝您的想法和建議。發送響應到客戶端後我該怎麼做耗時的任務
1
A
回答
4
要麼fork the process (ugly and unreliable)要麼使用JobQueue,如Gearman。
+0
+1有用的鏈接,謝謝! – Igor
+0
@ lgor,同意, – bingjie2680
2
使用PHP腳本完成所有這些處理,並在shell中使用 shell_exec對其進行調用。 因此,腳本將單獨運行,並且您的代碼將通過在shell而不是主代碼中運行它來繞過此操作。 看到這裏我的答案相似類型的任務:
1
的分岔是不可靠的,如果由於某種原因,你的服務器崩潰,調整大小不會發生。
將作業放入隊列中,並使用cron工作來完成此操作。創建作業隊列有多種方式,您可以使用數據庫編寫自己的作業或使用現有的解決方案。
相關問題
- 1. 從客戶端發送POST時Web服務沒有響應
- 2. 向客戶端發送標題響應
- 3. 我應該做API請求服務器端還是客戶端?
- 4. 我應該怎麼做,當用戶不能發送消息到twitter
- 5. TCP服務器和客戶端:服務器響應客戶端時引發IOException
- 6. 我怎麼能發送新數據的客戶端API
- 7. 使用STUN發送UDP到客戶端後面的客戶端
- 8. 我想發送一個變量到xxx.php我該怎麼做?
- 9. 我應該怎麼做?
- 10. Angular等待響應後端更新時應該做些什麼?
- 11. 客戶端在WCF雙工中突然崩潰時應該怎麼做
- 12. 我該怎麼做,我應該
- 13. Datapower客戶端錯誤,向WCF服務發送響應
- 14. 如何從smpp服務器向客戶端發送delivery_sm響應
- 15. 從服務器發送到客戶端
- 16. 強制推送到Mercurial後應該怎麼做?
- 17. 我應該用什麼方法來做客戶端過濾?
- 18. 爲什麼wakanda客戶端只發送40響應
- 19. 當我從客戶端向服務器發送命令時,客戶端僅在請求發送兩次時收到響應
- 20. WCF服務 - 當客戶端沒有得到響應時會發生什麼?
- 21. 應該從客戶端向OAuth提供商發送什麼
- 22. 如何將GraphicsContext從客戶端發送到服務器,然後發送到所有其他客戶端?
- 23. lambda + api網關何時實際向客戶端發送響應?
- 24. 如何知道響應何時完成發送給客戶端?
- 25. Java套接字 - 服務器在客戶端發送響應後掛起
- 26. 當發送到客戶端
- 27. 在android中將服務器響應推送到客戶端?
- 28. 我該怎麼做?
- 29. 我該怎麼做?
- 30. 如何在Java中正確發送HTTP響應到客戶端
可能重複的[php執行後臺進程](http://stackoverflow.com/questions/45953/php-execute-a-background-process) – Gordon