首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让bundler在运行bundle exec时显示"ps aux“中的完整命令?

如何让bundler在运行bundle exec时显示"ps aux“中的完整命令?
EN

Stack Overflow用户
提问于 2016-07-13 01:10:51
回答 0查看 98关注 0票数 0

我有几个rake任务需要在后台运行。我使用rbenv来管理我的ruby版本,使用supervisord来运行任务,使用bundle来确保我使用正确的gem版本。我的每个任务的supervisord配置如下所示:

代码语言:javascript
复制
[program:data-importer]
command=/home/ubuntu/.rbenv/bin/rbenv exec bundle exec rake import:data
environment=RAILS_ENV=production,PATH=/home/ubuntu/.rbenv/shims:%(ENV_PATH)s,PRODUCTION=true
directory=/home/ubuntu/app/current
user=ubuntu
stdout_logfile=/var/log/app/%(program_name)s-out.log
stderr_logfile=/var/log/app/%(program_name)s-err.log
autostart=true

我还使用consul监控我的基础设施,并使用领事检查来确保这些脚本正在运行。check调用一个非常简单的bash脚本,如下所示:

代码语言:javascript
复制
#!/bin/bash

if ps -ef | grep [i]mport:data | grep -v running; then
  echo "data importer running"
  exit 0
else
  echo "data importer not running"
  exit 2
fi

这些脚本一直运行得很好,直到几天前,这些检查开始失败。问题是,当我运行ps -ef时,列出的进程不再包含import:data。它现在显示了以下内容:

代码语言:javascript
复制
ubuntu 30450 ... /home/ubuntu/.rbenv/versions/2.3.1/bin/rake

在这台机器上没有什么真正的改变,只有Ruby版本。我们使用了2.2.2,上周五我们升级到了2.3.1。这就是为什么我认为这是一个捆绑包的问题,因为我们在ruby升级后安装了一个较新的版本。

我们直到周日才发现这个问题,但可能是我们之前没有看到这个问题。

有人能帮我吗?我已经被困了一段时间了:

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38335155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档