我在使用现有的Mojolicous应用程序时遇到了问题。我添加了一些新的路由、视图、控制器和模型,并返回数据库结果以使用 Rose::D B::Object ORM 查看。
我今天用在 Morbo 上运行良好的代码更新了生产版本。但是,在 apache2/plack/psgi mod_perl配置上,新模型只返回大约 1/5 的查询,有时是 1/10 的查询。
我已经消除了许多变量,例如我可以直接查询数据库并毫无问题地获得结果。旧模型及其查询始终有效。
似乎只有这个新功能是间歇性的。我已将请求范围缩小到仅一台服务器并重新启动了 apache。但是,我现在不明白为什么这个问题仍然存在。
我认为这是某种mod_perl不可靠的行为,但不知道为什么 apache 重启不能修复它。
任何帮助或想法都会很棒。
我终于解决了这个问题,结果证明很简单。我的主应用程序脚本中缺少控制器的 use 语句。我设置路由的脚本。我不确定我是否理解为什么它在生产中断断续续地工作,而在开发中一直工作。但是,一旦我补充说:
使用TheApp::Controller::Tags;在主应用程序pm中,它始终如一地工作。
回想起来,感觉我应该早点弄清楚,但它在部分时间起作用的事实导致我走上了错误的道路。希望这能在某个时候帮助其他人。