Eis*_*ith 5 scala playframework
使用带有 Scala 的 play 框架 1.2.4。我的游戏工作很少看起来像
@OnApplicationStart class MyOtherJob extends Job { ... }
@Every("30s") class MyJob extends Job { ... }
Run Code Online (Sandbox Code Playgroud)
当应用程序处于测试模式时,这些作业正在运行,所以它们会把事情搞砸。如何在测试时禁止它们运行?
我尝试了以下应用程序配置,没有帮助:
# Jobs executor
# ~~~~~~
# Size of the Jobs pool
play.jobs.pool=10
test.play.jobs.pool=0
test.cron.queue.every=never
dev.cron.queue.every=20s
prod.cron.queue.every=20s
test.cron.onApplicationStart.trigger=never
dev.cron.onApplicationStart.trigger=auto
prod.cron.onApplicationStart.trigger=auto
Run Code Online (Sandbox Code Playgroud)
可以使用以下语法检查 Play 是否在测试模式下运行。
play.Play.runingInTestMode()
Run Code Online (Sandbox Code Playgroud)
注意:拼写错误并非偶然。这是 API 中的方法名称。
因此,在您的作业中,您应该能够使用上述内容将作业执行包装在 IF 语句周围,从而防止测试模式作业。