簡體   English   中英

處理Web服務器上長時間運行任務的最佳方法

[英]Best way to handle long-running tasks on a web server

在過去的幾天里,我一直在谷歌上搜索我應該如何在Web服務器上處理長時間運行的任務。 我已經找到了很多關於如何用特定語言運行它們的好答案,但沒有找到適合這種工作的語言。

所以,我有一個運行某種自定義電子商務平台的網絡服務器。 還有另一個服務器,其中一些產品dostributor通過API提供對其數據的訪問。 我必須跨這兩個服務器同步產品列表。 產品基數相當大(約100000種產品)。

我的想法是編寫php腳本,從各種API端點收集數據並相應地更新數據庫。 但它需要很長時間,所以沒有硬性修改和深入潛水到PHP本身它將超時。

現在我在想,也許我應該編寫通過API端點的python腳本並收集有關每個產品的數據。 收集產品數據后,python腳本可以啟動php腳本,可以更新數據庫中有關該特定產品的數據。

你有什么困難嗎? 處理它的最佳方法是什么?

這聽起來像是你可以在服務器端用Cron做的更好,例如而不是從瀏覽器。 當然,除非您需要由沒有終端訪問權限的人隨機手動執行此操作。

如果它必須是PHP,您可以使用cron或終端運行它並禁用超時(請參閱: http//php.net/manual/en/function.set-time-limit.php ),甚至將其保留為如果需要,可以使用&。 這樣您就不會受到Apache(或您使用的任何服務器)時間限制的限制。

暫無
暫無

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

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