问题标签 [god]

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 投票
3 回答
1203 浏览

ruby-on-rails - 如果出现异常,则自动重新启动 rake 任务

我有一个必须始终运行的 rake 任务。但有时这项任务可能会失败。我需要自动重启吗?我想我需要使用God gem还是有其他方法可以解决这个问题?

0 投票
1 回答
248 浏览

ruby-on-rails - 在上帝配置文件中使用 ENV 变量

我想在我的上帝配置文件中使用环境变量。我在用

并使用设置 ENCODE_QUEUE

export ENCODE_QUEUE="enocding_xyz"在 ~/.bashrc 文件中。但是上帝服务总是使用'​​encoding_abc'我该怎么做?

0 投票
1 回答
1070 浏览

ruby-on-rails - “上帝”没有启动 resque worker

我在启动和运行上帝宝石时遇到了一些麻烦。我基本上从 Github 复制了配置文件,但它似乎没有正确启动 resque 工作程序。我的配置文件如下所示:

我正在使用以下命令运行上帝:

这给了我以下输出:

但是没有工作人员出现在 resque-web 界面中,也没有工作从队列中拉出。谁能发现我做错了什么?此外,我已经尝试使用我常用的脚本从命令行启动一个工作人员,并且按预期工作。哦,这在 Ubuntu 10.04 上运行

0 投票
1 回答
591 浏览

ruby - 一个神,用于不同的红宝石与 rvm

我的机器上有两个应用程序。
每个应用程序(服务器)都有自己的 gemset,并且可以在不同的 ruby​​ 版本上运行。

我将使用安装在它自己的 gemset 中的上帝来管理这些应用程序。

我的上帝配置文件config.god如下所示:

我的服务器只是将 ruby​​ 版本写入文件(/home/vagrant/server-2/simple-server.rb):

我用god -c config.god.

问题是我的应用程序没有使用 .rvmrc 中指定的 ruby​​ 版本运行。

我也试过:

  • ~/.rvm/bin/wrapped_god -d config.god -D
  • rvmsudo ~/.rvm/bin/wrapped_god -d config.god -D
  • rvmsudo god -d config.god -D

这种情况有解决方案吗?

编辑2012.08.27:

我已将我的上帝配置更改如下:

它奏效了。

0 投票
2 回答
359 浏览

ruby - 不承认 resque worker 已经启动

我在从上帝那里运行 resque 工人时遇到问题。

这是我的上帝配置

当我开始上帝时,当工人正在工作时,一切看起来都很好,并且它运行所有过渡到:向上。

但是当工人不运行时,它会在启动后停止。工作人员实际上已经启动,pid 文件也是正确的。只有上帝不明白:

如前所述,工人已启动并运行良好。pid 文件也包含正确的 pid。

如果我现在杀死上帝并重新启动它,它会很好地识别正在运行的工作人员并转换为 :up..

任何想法或指示?

0 投票
1 回答
1353 浏览

ruby - 上帝(红宝石进程管理器)不断重启我的进程

这可能是一个相当新手的修复,所以提前道歉。

我有一个简单的过程,我想用上帝来控制。这个阶段的过程基本上是刚刚好loop do; sleep 1; end。配置文件是最低限度的:

该过程不断开始,pid文件不断重置。就像上帝可以开始一切正常然后不承认该过程正在运行并重新启动它。请参阅下面的日志文件:

我可以从命令行运行bundle exec rails runner ./script/fetcher_daemon.rb并且运行良好。

我的设置是 Mint Linux,我使用 rvm。

0 投票
1 回答
65 浏览

ruby - System::Process.new 的由来是什么?

它的起源Process.new和记录在哪里?我查看了流程模块的Ruby 文档,但无法弄清楚它是如何声明的。

我试图复制的代码位于lib/god/conditions/memory_usage.rb:66的 Ruby God gem 中:

0 投票
1 回答
1046 浏览

ruby-on-rails - Ubuntu 服务器上的 ROR、Redis、Resque、God 和 Cron - 引导

在我的 ruby​​ 应用程序中,我已经完成了几项上帝会照顾的工作。但是,当服务器重新启动时,作业会停止。我想避免这种情况,所以我在我的服务器上制作了这个脚本。它看起来像这样。

my_app.sh

如果我手动登录并写

“/etc/init.d/my_app 启动”

它给了我

一切正常,它做我想做的事,即工作。

我尝试了几种方法来启动这个脚本(Linux 10.4.4 LTS)、rc.local、rc-default,现在我最近的尝试是 crontab。

该脚本必须在我的用户而不是 root 下运行,(如果我在 root 下运行它就找不到 ruby​​ 安装)。

因此,我在我的用户帐户下配置了 crontab:

可悲的是,这不起作用......我不知道我做错了什么。这可能没有必要。我的意思是,在启动 ruby​​ 应用程序时,您不应该能够自动执行此操作吗?

我在这台服务器上使用乘客,我不知道这是否与它有关?

下面的解决方案是我对 sh 所做的更改:

my_app.sh

0 投票
2 回答
1531 浏览

ruby - 如何让工头开始上帝

我有一个这样的 Procfile:

foreman start god没有开始......它只是这样说:

如果我运行god -c services.god,所有服务都运行良好......有
什么想法吗?
谢谢

0 投票
4 回答
2530 浏览

ruby - 上帝启动了太多的过程

我有一个上帝脚本,应该关注两个跟踪进程。问题是24 小时后它启动了太多的进程。

这是神剧本。

ps aux | grep stalk返回以下内容。

这是/usr/bin/bbundle脚本。

  • 运行sudo god stop app-scripts不会杀死任何进程。

  • 我已经尝试添加w.uid = "webmaster"到上帝脚本,但问题仍然存在。

  • 我正在运行上帝版0.12.1、红宝石版1.9.3p286和潜行者版0.9.0

我究竟做错了什么?