javan-每当没有用Capistrano部署编写crontab时
-
06-07-2019 - |
题
我一直试图在使用ec2在rails上创建的ec2实例上运行。
当我使用Capistrano进行部署时,它表示已写入crontab,但是当我登录服务器并运行crontab -l时,它似乎没有被更改。
如果我进入release文件夹并手动运行--write-crontab然后运行crontab -l - 它会正确更新。
任何可能导致这种情况的想法?
Capistrano没有表明任何错误,所以不确定如何调试,尝试过十亿次排列和组合,没有任何变化。
解决方案 2
namespace :deploy do desc "write the crontab file" task :write_crontab, :roles => [:db_admin] do run "cd #{release_path} && sudo -u root whenever --write-crontab #{application}" end end
或者,只要能够帮助解决这个问题,显然还有一个-user选项。
其他提示
您应该只需要在cap部署文件中随时执行capistrano命令,如下所示:
要求'when / capistrano'
如果你正在使用bundler,你还需要添加它:
set :never_command,'when exec when'
这与OP无关,但根据此问题,Capistrano 2.11。 1需要每当0.7.3以解决问题。
不隶属于 StackOverflow