2013-08-19 49 views
4

当我启动播放服务器时,我只需要运行一次代码。当使用GlobalSettings.OnStart()时,我注意到代码仅在对服务器的第一个(http)请求之后执行。任何想法如何才能在服务器启动后,发送任何请求之前运行我的代码?GlobalSettings onStart仅在第一次请求后才会触发

感谢

回答

11

也就是说当应用处于开发模式,play run行为。当它在生产模式下运行时,play start,那么当应用程序在任何请求之前启动时,您的onStart方法将立即运行。

+0

非常感谢。它回答了我的问题并解决了我的问题。我不知道我是否在Play文档中错过了这一点,因为我不记得看到这些,并且我阅读了大部分文档。 – user2696705

+0

生产和开发之间这种差异的动机是什么? – matanster

1

你可以模仿(或者我应该说,解决方法这个不幸的二分法设计),通过使用这个插件,其中,我发现有用也一般:

addSbtPlugin("com.jamesward" % "play-auto-refresh" % "0.0.11")(plugins.sbt)

而且不,它目前没有记录在任何正确的地方,这就是OnStart的工作原理。

相关问题