Ruby on rails 如何在rails的后台运行一个函数或命令?

Ruby on rails 如何在rails的后台运行一个函数或命令?,ruby-on-rails,cron,Ruby On Rails,Cron,我有一个表存储活动的活动点。该列表将在每个季度末,即1月1日、4月1日、7月1日、10月1日重置。因此,我编写了一个将在后台运行的函数。所以我用gem来做这个 为了测试,我编写了以下代码: gem 'whenever', :require => false 然后运行bundle安装 在schedule.rb中: every 2.minutes do #runner "Activity.demo" #rake "my:rake:task" #command "/usr/b

我有一个表存储活动的活动点。该列表将在每个季度末,即1月1日、4月1日、7月1日、10月1日重置。因此,我编写了一个将在后台运行的函数。所以我用gem来做这个

为了测试,我编写了以下代码:

gem 'whenever', :require => false
然后运行bundle安装

在schedule.rb中:

every 2.minutes do
   #runner "Activity.demo"
   #rake "my:rake:task"
   #command "/usr/bin/my_great_command"
   command "echo 'you can use raw cron sytax too'"
end
然后:

whenever --update-crontab
然后启动rails服务器,但我不知道在哪里可以看到输出:您也可以使用原始cron sytax


在我的终端中启动服务器后,没有显示输出的输出行:您也可以使用原始cron sytax

当您运行命令时,您将打开一个临时shell会话-该命令将出现在其中,然后会话将关闭。如果您在控制台中运行它,您会看到它,但是如果它在rails服务器中运行,那么它在其他任何地方都不可见。最好将其记录下来,然后您可以在日志文件中看到它。Ok。谢谢。但是现在我想在1月1日、4月1日、7月1日、10月1日运行这个程序。因此,不要每隔2.5分钟就执行我必须编写的命令/代码。这是一个完全不同的问题。