gpt4 book ai didi

heroku - 使用 Play 2 框架在 Heroku 中进行 Akka 调度

转载 作者:行者123 更新时间:2023-12-02 07:06:42 25 4
gpt4 key购买 nike

我无法让 Akka 调度方法在 Heroku 中正常工作。它在本地运行良好,并在日志中打印出“Heartbeat”。

这是有问题的文件:https://github.com/magnusart/actor-test/blob/master/app/Global.scala和下面的片段。

override def onStart(app: Application) {
Logger.debug("Starting application")
Akka.system(app).scheduler.schedule(2 seconds, 10 seconds) {
Logger.debug("Heartbeat")
}
}

完整的应用程序在这里(为此目的隔离,也在 actor-test.herokuapp.com 上)。 https://github.com/magnusart/actor-test

启动后发生的事情是我在日志中看到 Starting application 然后我没有看到任何进一步的东西:

2012-05-26T16:29:40+00:00 heroku[web.1]: Starting process with command `target/start -Dhttp.port=43943 -Xmx384m -Xss512k -XX:+UseCompressedOops`
2012-05-26T16:29:41+00:00 app[web.1]: Play server process ID is 3
2012-05-26T16:29:42+00:00 app[web.1]: [debug] application - Starting application
2012-05-26T16:29:42+00:00 app[web.1]: [info] play - Starting application default Akka system.
2012-05-26T16:29:42+00:00 app[web.1]: [info] play - Application started (Prod)
2012-05-26T16:29:42+00:00 app[web.1]: [info] play - Listening for HTTP on port 43943...

所以预定的 actor 似乎实际上并没有开始(当然它在本地开始)。我在 Heroku Cedar 上。我感谢任何关于为什么这不起作用的提示,我错过了什么?

BR 马格努斯·安德森


更新根据我的发现,这似乎是 Play 2 中的一个错误(我正在运行 2.0.1 版)并且与 Heroku 无关。我已经用相关信息更新了 Play 2 Lighthouse 门票。门票可以在这里找到:https://play.lighthouseapp.com/projects/82401-play-20/tickets/448-play-dist-ignores-loggerxml#ticket-448-5

最佳答案

问题似乎出在您的记录器设置上,因为在您的 Heartbeat 中您打印了一条“调试”级别的消息。AFAIK,Heroku 在“生产”模式(=“Play 开始”)下运行您的 Play 应用程序,即日志级别设置为“信息”,因此调试消息永远不会打印在 Heroku 上。

关于heroku - 使用 Play 2 框架在 Heroku 中进行 Akka 调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10768092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com