2015-06-11 31 views
1

我在使用Play框架2.3編寫的網站中使用akka作爲調度程序。我通過在開發環境中使用activator run來使服務器保持運行。如何讓Akka始終在Play中運行2.3

當我更改了一些文件並嘗試訪問我的網站時,Play服務器將編譯這些更改的文件並重新加載服務器,導致Akka計劃程序關閉並重新啓動。然後,我所有的計劃任務都無法按正確的順序執行,導致邏輯混亂。

我想問一下,如果我能找到一種方法讓Akka調度器一直運行,直到我發送一個信號讓它重新加載?

我可以在dev env和prod env中執行嗎?

回答

3

您面臨的問題超出了文件的開發更改。你希望你的演員能夠保持狀態,而不管遊戲應用程序發生了什麼(可能是因爲不同的原因失敗了?)。

基本上你希望你的調度演員持久。將你的演員變成持久演員是非常容易的。您需要延長PersistentActor並用receiveCommandreceiveRecover替換receive

默認狀態保存到日誌文件,但您可以選擇不同的持久層。

你可以在Akka documentation找到更多的。