Rails 初始化程序在 Rails 中执行多次
我有一个在 apache + Passenger 上运行的应用程序,我有一个初始化程序来初始化 rufus 调度程序,然后安排作业。
似乎初始化程序在应用程序启动后被执行多次,在 rufus 调度程序中安排重复的作业。
我不确定为什么初始化程序会在不重新启动的情况下执行多次。
I have a an app running on apache + passenger and I have a initializer to initializer rufus scheduler and then schedule jobs.
It seems like the initializer is getting executed multiple times after the app has been started which schedules duplicate jobs within rufus scheduler.
I am not sure why the initializers are getting executed multiple times without a restart.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
初始化器不是执行此操作的正确位置。每个初始化程序都会针对 Web 服务器运行的每个进程执行。即您 apache 启动 4 个进程来接受与您的 Rails 应用程序的连接,您的初始化程序被执行 4 次。
一个简单的解决方案是使用 rake 任务作为部署策略的一部分。
Initializers are not the right place to do it. Each initializar is executed for every process your web server run. i.e. You apache start 4 process to accept connections to your rails application, your initializer is executed 4 times.
A simple solution would be to use a rake task as part of your deployment strategy.