我在gem的schedule.rb文件中设置了一个非常简单的方法
every 10.minutes do
rake "update_models"
end
我现在试图完成的是配置Capistrano通过调用
自动创建crontabwhenever --update-crontab --set environment=development
或
whenever -i
但是我没有成功完成漫长的配置过程。我的Capfile有以下
require "whenever/capistrano"
我的deploy.rb文件包含以下内容:
namespace :deploy do
task :update_crontab do
run "cd /Users/affinities/Desktop/my_app && bundle exec whenever --update-crontab --set environment=development"
end
end
每当我启动服务器时,我只是想让每当gem启动它的schedule.rb文件。有人可以给我一步一步安装所需的最低数量的Capistrano吗?当我运行" rails server"我希望更新crontab。我现在只想在开发环境中尝试这样做。
答案 0 :(得分:1)
我不确定,为什么你认为capistrano应该在rails server
命令上运行你的任务。 Capistrano用于部署目的,与您当地的rails server
起点无关。通过包括
require "whenever/capistrano"
Capfile
中的这一行,您告诉capistrano在每个部署上重写crontab。它还将使用环境,该环境在此变量config/deploy/x.rb
的{{1}}中设置。所以set :rails_env, 'environment'
行就是您所需要的。你的require
命令(以及相应的任务)毫无意义:
run