[英]How do I start a background thread with a request in the Play! framework?
我一直在尋找Play! 框架,我對將我的項目之一轉換成它感興趣。 但是,此項目要求在用戶操作時生成長時間運行的線程,但是線程的結果不會通過常規的請求-響應方法返回給用戶。 而是將用戶重定向到一個頁面,該頁面監視他們已啟動的線程。
因此,我想知道如何創建一個用戶操作,該操作將在用戶POST到/ start時創建一個線程,但是該線程自動進入“后台”,並且用戶收到諸如“ ok”甚至重定向的響應。 ,而不是線程的輸出。
我還希望對線程進行某種程度的控制; 換句話說,我不僅要創建一個線程並使其運行。 我想擁有某種全局參考點,以便用戶可以在線程啟動后停止它(例如,通過訪問/ stop)。
Play提供了特殊的Job,可以在后台定期運行或在應用程序啟動時運行,但我認為它不適合您。
在您的情況下,您可以簡單地使用Java API生成新的Thread
或將新任務提交給Executor
並將響應返回給用戶。 要停止Thread
,可以使用帶有循環和中斷標志的標准方法。 這里的play框架沒什么特別的,只有常規的Java api。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.