问题标签 [whenever-capistrano]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2454 浏览

ruby-on-rails - Capistrano + 每当 gem:无法部署,“只要不是捆绑的一部分。将其添加到 Gemfile。”

我正在尝试将每当 gem添加到我的 Rails 项目中,我将 gem 添加到 Gemfile

并且安装没有任何问题。然后我在生成的schedule.rb文件中添加了一个简单的任务:

然后我在文件中添加了以下内容deploy.rb

我尝试设置latest_release,current_pathrelease_path,但在所有情况下总是相同的输出:

如何解决这个问题?(我正在部署到 Amazon EC2 - ubuntu)

谢谢

0 投票
1 回答
630 浏览

ruby - 谁在`deploy.rb`中定义`defer`?

whenever's README 中,有一个这样的例子,

我大概明白什么defer意思,但我想知道它是如何工作的,以及它是如何实现的。

我在哪里可以找到源代码defer

0 投票
0 回答
141 浏览

ruby-on-rails - 狮身人面像索引的 cron 作业不起作用,但使用命令行

我正在使用 rails 3 并尝试在特定时间间隔后更新 cron 作业。当我使用 RAILS_ENV=production rake ts:index 时,它工作正常,但 sphinx 没有使用 cron 作业进行索引。等待您的解决方案。

以下是我的代码供您参考:

日程安排.rb

我检查这个命令

我得到以下输出,告诉 cron 作业正在运行

crontab -e 的输出

提前致谢。

0 投票
2 回答
1781 浏览

ruby-on-rails-3 - 如何通过每当 gem 在 crontab 中设置 PATH 变量

是否可以通过无论何时 schedule.rb 文件在 crontab 中设置 PATH 或 SHELL 变量?

在我的 capistrano 部署之后,我希望在我的 crontab 中得到这个输出:

0 投票
1 回答
468 浏览

ruby-on-rails - Master Unicorn 进程一直在终止和启动新工人

就像我在标题中所写的 Unicorn 主进程最近(在部署和重新启动之后)一直在杀死工人并开始新的工人,这就是为什么我的 Rails 应用程序根本不工作的原因。除此之外,服务器上的 CPU 在此期间是 100%。但是,如果我让 cap unicorn:stop everytning 正确关闭,但在 cap unicorn:start 之后它会重新开始。

独角兽.rb:

结尾

和我的 deploy.rb

结尾

结尾

0 投票
1 回答
9166 浏览

ruby - 每天早上 8 点到晚上 8 点的 Cron 作业,间隔 20 分钟

如何以20分钟的间隔每天运行,例如 cron 作业应该从cron job每天开始,然后运行到. 谢谢。8:00 AM8:00 PM8:00 AM8:20 AM8:40 AM9:00 AM8:00 PM

编辑:如何用 rubywhenever​​ gem 实现它。

0 投票
0 回答
581 浏览

ruby-on-rails-3 - 每当 gem 在新服务器上从 Capistrano 中执行时

我在生产中有一个 Rails 3.2.14 旧版应用程序,它运行良好。我正在将此应用程序迁移到新服务器,并将在切换时从生产中迁移数据库。到目前为止,我已经启动了该应用程序并且它正在工作(大部分情况下)。但是当我使用 Capistrano 部署到该服务器时,无论何时 gem 似乎都没有运行(尽管它在原始生产服务器上运行并更新了 crontab)。

我使用 gem 0.7.3、capistrano 2.12.0、Ruby 1.9.3p194 来保持环境相同。

这是我在 Capistrano 中的 deploy.rb 的样子(并且可以在旧服务器上随时执行:

有趣的是,当我部署到我们的旧生产服务器时,任何时候都会使用 rake 任务执行和更新 crontab。但是,如果我在 deploy.rb 中切换 IP 并部署到我们的新服务器,它将不会执行,并且 Capistrano 输出不会显示任何我能看到的可疑内容。

有什么地方可以调试吗?我想保持两台服务器的 Capistrano/Rails 配置相同。只是不确定问题是什么。也许我忽略了一些东西。

还应该注意的是,当我在 app/current 目录中的新服务器上时,我可以运行以下命令,它将正确更新我的 crontab:

0 投票
1 回答
474 浏览

ruby-on-rails - Ruby on Rails、Capistrano、无论何时:Cron 作业未在生产服务器上执行

Ruby on rails + Capistrano + Whenever gem

我执行了whenever --update-crontab,但仍然没有在生产服务器上执行 cron 作业。日志文件中没有日志。capistrano尽管在不需要的开发中一切都很好。

日程安排.rb

部署.rb

头文件

有什么问题?如何调试?

0 投票
1 回答
683 浏览

ruby-on-rails-4 - 未定义的方法“零?” 对于 nil:NilClass (NoMethodError)

我将每当 Gem 添加到我的项目中。我按照指示将此代码添加到了我的 deploy.rb 中。

当我尝试运行 cap deploy 时出现以下错误。有任何想法吗?我的 schedule.rb 被注释掉了,所以不是这样。我的 ruby​​ 是 2.1.3,rails 是 4.1.8。当它执行`whenever:update_crontab' 时会发生这种情况。

0 投票
1 回答
916 浏览

ruby-on-rails - 我如何防止何时/capistrano 覆盖其他环境的作业?

我有两个环境,staging并且production,在一台服务器上,使用 capistrano 3 进行部署。每个环境的部署相互冲突,完全取代了另一个环境的工作。

  • 如果我 deploy staging,那么所有的 cronjobs 都会被删除并替换为引用staging发布路径和环境的作业。所有production作业都被删除。
  • 如果我 deploy production,那么所有的 cronjobs 都会被删除并替换为引用production发布路径和环境的作业。所有staging作业都被删除。
  • 如果我在on中做了一个case声明,并且只为某种情况设置了作业,那么在部署时它会完全清除 cronjobs。所有的工作都消失了。schedule.rb@environmentwhen 'production'staging

我需要达到以下两种情况之一:

  • 有两组作业(一组 forstaging和一组 for production),每组作业都通过任一环境的部署持续存在(因此,在底部的示例中,将列出两个作业 - 一个用于staging发布,一个用于production发布)
  • 通过任一环境的部署持续存在的一组作业(仅用于production)(因此,staging部署不应将其删除)

谁能解释这是如何完成的?我在下面包含了我当前的配置,以防万一。

版本

  • 卡皮斯特拉诺:3.3.5
  • 任何时候:0.9.4
  • 红宝石:2.1.5
  • 导轨:3.2.21

头文件

config/deploy/deploy.rb 中的相关行

配置/部署/production.rb

配置/部署/staging.rb

配置/时间表.rb

staging部署后生成的 cronjob