取消
顯示的結果
而不是尋找
你的意思是:

使用線程。Scala中的睡眠

陽光明媚的
新的貢獻者三世

我們需要打擊REST web服務每5分鍾直到成功接收到消息。Scala對象在一個Jar文件,由磚工作流中任務的調用。

thread . sleep (5000)

工作正常,但不確定它是安全的或有任何交替練習。

目前我有這個實現

而(真){

/ / rest web服務

如果響應= =“成功”)

返回;

thread . sleep (300000)

}

6個回答6

ron_defreitas
貢獻者

使用睡眠本身沒有錯,但這個業務邏輯缺乏超時邏輯。

如果它從來沒有返回成功,你的工作將一直運行下去,消耗DBUs以及雲計算成本。

使用scala並發持續時間類,你可以創建一個最後期限,然後編寫代碼合並。

而(deadline.hasTimeLeft ()) {

/ /你的邏輯

/ /睡眠

}

我將添加,您可能希望更頻繁的端點如果您的web服務可以把它…這是浪費每五分鍾進行一次反應,可能還在5分鍾和1秒。

謝謝你!為例,如果工作超時設置為15分鍾和代碼(真正的),15分鍾後自動死亡不是工作?

angrypanda
新的貢獻者二世

你試著用Scala期貨嗎?

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map