我打算在我的rails应用程序中创建一个守护进程,该守护进程每隔10分钟查看一次特定的mongodb记录,并根据查询结果创建一个新的mongodb记录。 我认为守护进程应该位于“lib”中,但我不确定lib组件应该“知道”我的模型类。 你怎么看?我错过了lib的角色吗?你对其他实施有什么建议吗?
如果只是在/ lib中的deamon中安排任务呢?示例:
# file: app/models/my_model.rb
class MyModel < ActiveRecord::Base
def self.run!
# do something
end
end
# file: lib/my_daemon.rb
class MyDaemon
def self.start!
loop do
MyModel.run!
end
sleep(1000)
end
end
答案 0 :(得分:0)
如果您希望任何任务在您的应用程序的上下文中运行,我建议您使用rake任务。这意味着该任务将转到lib/project.rake
文件。
要定期运行,你有很多选项,一个是设置一个cron作业来运行它。你甚至可以使用cron来命令它的执行。