代码之家  ›  专栏  ›  技术社区  ›  Gordon Isnor

javan每当不使用capistrano deploy编写crontab时

  •  4
  • Gordon Isnor  · 技术社区  · 17 年前

    我一直在尝试在一个EC2实例上运行,该实例是在Rails上用EC2创建的。

    当我使用capistrano部署时,它表示crontab已经被写入,但是当我登录到服务器并运行crontab-l时,它似乎没有被更改。

    如果我进入发布文件夹并在任何时候手动运行——写入crontab,然后运行crontab-l——它会得到正确的更新。

    你知道是什么引起的吗?

    Capistrano没有指出任何错误,因此不确定如何调试,尝试了数十亿次排列和组合,没有任何变化。

    3 回复  |  直到 12 年前
        1
  •  1
  •   hubert    15 年前

    您应该只需要cap deploy文件中的whatever capistrano命令,如下所示:

    要求“无论何时/capistrano”

    如果您使用Bundler,还需要添加以下内容:

    set:每当_命令,“bundle exec everywhere”

        2
  •  0
  •   Gordon Isnor    17 年前
    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
    

    或者在任何时候都有一个用户选项可以帮助解决这个问题。

        3
  •  0
  •   lulalala    14 年前

    这与OP无关,但根据此 issue ,Capistrano 2.11.1需要0.7.3才能解决问题。