我在Ruby中有一个应用程序,它从一些主机获取信息并将其保存在文件中。每次获取信息(每15分钟),就会生成一个新文件。现在,我想创建一个Rails应用程序,其中包含一个数据库来配置应用程序(主机的IP,密码等)并保存来自主机的数据。
我已经使用rails创建了一个数据库,我需要在rails应用程序中集成我的程序。我应该在哪里放置脚本以及谁将信息输入到rails结构内的数据库中?我需要这个脚本与rails应用程序一起运行,我的意思是,当我运行rails应用程序时,脚本应该启动。同时,从脚本我需要使用Active Directory为我提供的数据库工具来使用ORM管理数据库。
提前致谢!
答案 0 :(得分:0)
您可以在每隔15分钟运行脚本的rails中运行一个cron作业。 在您的cron配置文件中,它看起来像:
*/15 * * * * ruby your_ruby_script.rb
在该脚本中,您可以根据自己的要求操作数据库。
答案 1 :(得分:0)
Rails有ActiveJobs,您可以使用它来定期与其他服务进行通信。
使用内置的rails生成器,您可以创建您的作业,它包括一个存根测试,以确保您按照预期的方式执行脚本功能。
bin/rails generate job guests_cleanup
#=> invoke test_unit
#=> create test/jobs/guests_cleanup_job_test.rb
#=> create app/jobs/guests_cleanup_job.rb
在作业中,您可以定期与Ruby应用程序进行通信。
class GuestsCleanupJob < ActiveJob::Base
queue_as :default
def perform(*guests)
# Do something later
end
end
要安排此作业定期执行,请使用以下某个宝石。