我想做類似如下的事情:當用戶點擊一個按鈕時,我發送一個ajax請求到服務器,服務器啓動 做後臺IO操作,而用戶立即收到迴應說「已開始」。這是用戶的需求。在Ruby中或帶定時器的Rails中的短時間後臺作業
在後臺操作正在進行的服務器上。操作應該在10分鐘內執行10次。這是類似於 定期輪詢一些東西,比如數據庫的狀態。在狀態改變不到10分鐘內,操作應該立即停止,因此可以是1分鐘或3分鐘。否則操作繼續。最多10分鐘內10次。
我肯定不想使用任何第三方庫,因爲我知道我可以通過純ruby或Rails的方式來做到這一點。這並不重要,它更困難。
我該怎麼做?
我知道,我應該創建一個線程,但我應該怎麼究竟做部分「不斷輪詢的東西在10分鐘 最多一次一分鐘狀態,最多10次,如果一些條件是那麼你就完成了,馬上完成。「
請注意,這是我想要的簡化版本,但這個想法就是我所描述的。
你可以使用'ActiveJob'。看看http://stackoverflow.com/questions/25798013/how-do-i-schedule-recurring-jobs-in-active-job-rails-4-2 –