[英]Update database monthly ruby on rails?
我有一個帶有整數列“ monthly_point”的表“ Point”和一個帶有整數列“ Give_Point”的表“ User”。 我想每個月更新“ Give_Point”的值是“ monthly_point”的值。 我怎樣才能做到這一點? 謝謝大家
您應該使用cron-jobs
來實現這一目標, whenever gem
添加gem'whenever gem 'whenever', require: false
到Gemfile並運行bundle install
。 然后在應用程序的根目錄中,運行以下命令:
`bundle exec wheneverize`
這會將日程表文件添加到您的config文件夾(config/schedule.rb)
。 該文件是您設置計划任務的地方。 您可以使用常規的cron調度,也可以使用更慣用的DSL進行調度。 以下示例摘自gem的README.md:
every 3.hours do
runner "MyModel.some_process"
rake "my:rake:task"
command "/usr/bin/my_great_command"
end
every 1.day, :at => '4:30 am' do
runner "MyModel.task_to_run_at_four_thirty_in_the_morning"
end
every :hour do # Many shortcuts available: :hour, :day, :month, :year, :reboot
runner "SomeModel.ladeeda"
end
every :sunday, :at => '12pm' do # Use any day of the week or :weekend, :weekday
runner "Task.do_something_great"
end
every '0 0 27-31 * *' do
command "echo 'you can use raw cron syntax too'"
end`
在config/schedule.rb
設置計划任務后,仍然需要將其應用於crontab。 在終端上,使用everything命令更新您的crontab:
cd /my/app
bundle exec whenever
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.