当我启动播放服务器时,我只需要运行一次代码。使用 GlobalSettings.OnStart() 时,我注意到代码仅在对服务器的第一个 (http) 请求之后执行。知道如何在服务器启动后和发送任何请求之前运行我的代码吗?
谢谢
当我启动播放服务器时,我只需要运行一次代码。使用 GlobalSettings.OnStart() 时,我注意到代码仅在对服务器的第一个 (http) 请求之后执行。知道如何在服务器启动后和发送任何请求之前运行我的代码吗?
谢谢
这是应用程序处于开发模式时的行为,play run
. 当它在生产模式下运行时play start
,您的onStart
方法将在应用程序在任何请求之前启动时立即运行。
You can emulate that (or I should say, workaround this unfortunate dichotomous design), by using this plugin, which, I find useful also in general:
addSbtPlugin("com.jamesward" % "play-auto-refresh" % "0.0.11")
(plugins.sbt)
And no, it is not really currently documented in any right place, that this is how OnStart works.