使用 upstart 脚本守护 sidekiq - 不起作用

2023-12-21

我正在尝试使用以下两个新贵脚本来守护 sidekiqthis https://github.com/mperham/sidekiq/tree/master/examples/upstart/manage-one例子。 基本上,workers 服务会启动固定数量的 sidekiq 服务。

问题是 sidekiq 脚本在我启动 sidekiq 的代码行处失败。我尝试直接在 bash 中运行该命令,效果很好。

我尝试了所有不同的注释行,但没有任何效果。

所以我的问题是我做错了什么?我在哪里可以看到错误消息?

这是我修改后的 sidekiq 脚本:

# /etc/init/sidekiq.conf - Sidekiq config

# This example config should work with Ubuntu 12.04+.  It
# allows you to manage multiple Sidekiq instances with
# Upstart, Ubuntu's native service management tool.
#
# See workers.conf for how to manage all Sidekiq instances at once.
#
# Save this config as /etc/init/sidekiq.conf then mange sidekiq with:
#   sudo start sidekiq index=0
#   sudo stop sidekiq index=0
#   sudo status sidekiq index=0
#
# or use the service command:
#   sudo service sidekiq {start,stop,restart,status}
#

description "Sidekiq Background Worker"

respawn
respawn limit 15 5

# no "start on", we don't want to automatically start
stop on (stopping workers or runlevel [06])

# TERM and USR1 are sent by sidekiqctl when stopping sidekiq.  Without declaring these    as normal exit codes, it just respawns.
normal exit 0 TERM USR1

instance $index

script
exec /bin/bash <<EOT
  # use syslog for logging
  # exec &> /dev/kmsg

  # pull in system rbenv
  # export HOME=/home/deploy
  # source /etc/profile.d/rbenv.sh

  cd /home/rails
  touch /root/sidekick_has_started
  sidekiq -i ${index} -e production
  # exec sidekiq -i ${index} -e production
  # exec /usr/local/rvm/gems/ruby-2.0.0-p353/gems/sidekiq-3.1.3/bin/sidekiq -i ${index} -e production
  touch /root/sidekick_has_started_2
EOT
end script

你是对的,需要加载 RVM env。试试这个:

.....    
.....

script
exec /bin/bash <<EOT

  #export HOME=/home/deploy
  source /usr/local/rvm/environments/ruby-2.0.0-p353@global

  cd /home/rails
  exec sidekiq -i ${index} -e production

.....    
.....

有效吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 upstart 脚本守护 sidekiq - 不起作用 的相关文章

  • Ruby on Rails 中的三重连接

    我对 Ruby on Rails 中的关联有疑问 应用程序中有项目 用户 角色和组 项目属于一个有用户的组 一个用户可以属于多个不同的组 但只能在该组中拥有一个特定的角色 例如 在一个组中 用户是项目所有者 但在另一个组中 他是作家 使用
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • rvm编译安装ruby 2.5.0出错

    我正在尝试使用 rvm 安装 ruby 2 5 0 但出现错误 我在 Ubuntu 18 16 和现在的 Linux Mint Cinnamon 上尝试过 基本上我在运行安装 ruby 的代码之前所做的是 打开 GPG 密钥https rv
  • 我的整个 Rails 应用程序仅从一个文件获取 css 为什么

    我为两个控制器添加了不同的 css 文件 但我的整个应用程序仅从product css 我为两个控制器添加了不同的 css 文件 但我的整个应用程序仅从product css我为两个控制器添加了不同的 css 文件 但我的整个应用程序仅从p
  • 未找到命令“ember”

    看来我搞砸了 ember cli 安装 我已经使用 sudo 安装了 npm 但是在阅读了 npm 上 ember cli 和 sudo 的一些问题后 我按照此处的说明卸载并重新安装https gist github com isaacs
  • ApplicationController 的未定义方法“helper_method”,Rails 5

    我正在尝试使用doorkeeper 将oAuth2 0 集成到我的仅rails api 应用程序中 但我不断收到此错误 ApplicationController 的未定义方法 helper method 但无法找到解决该问题的明确解决方案
  • Mongoid 中的 find_or_create_by 线程安全吗?

    我有一个使用 Mongoid 的 find or create by 方法的网络应用程序 poll Poll find or create by fields 在投入生产之前 我尝试运行故障场景 我发现多个用户可以尝试使用此方法访问此资源
  • 操作错误:尝试在 ubuntu 服务器中写入只读数据库

    我正在使用 FlaskApp 运行mod wsgi and apache2在 Ubuntu 服务器上 我尝试运行烧瓶应用程序localhost成功 然后部署到ubuntu服务器上 但是当我尝试更新数据库时 出现错误 Failed to up
  • 请求完成时间大于 ActiveRecord 和 View 时间之和

    以下是一些示例请求完成时间 Completed 200 OK in 1054ms Views 10 8ms ActiveRecord 455 6ms Completed 200 OK in 1410ms Views 11 6ms Activ
  • 如何在 Rails 3.2.1 版本中注释 Rails 模型

    我正在尝试遵循一些在线教程来在 Rails 中注释我的模型 然而 似乎所有教程都在谈论过时的注释版本或不正确的安装 这真是一团糟 到目前为止我已经尝试过以下方法 1 在 Gemfile 中添加此内容 gem annotate 2 4 0 2
  • Rails:format.js 或 format.json,或两者?

    可能很明显 但我仍然缺乏基本知识 那么在控制器内部 两者都可以使用 还是总是 Javascript 所以两者是相同的 json and js是两种不同类型的响应 它们在 Rails 中被定义为不同的 MIME 类型 Mime Type re
  • 如何在 Rails 控制器中调用通道方法?

    我有一个订阅用户的 ActionCable 方法 如果启动新的 convo 我也希望用户订阅新频道 我无法找出在控制器中调用通道方法的正确语法 更新 问题是消息在发送时附加到聊天框 但是当发送第一条消息时 Websocket 连接尚未建立
  • 为什么“捆绑”会在我的开发机器上安装生产 gem?

    Gemfile 说 gem sqlite3 groups gt development test gem mysql2 group gt production 然而当我打字时bundle install在我的开发机器上安装了所有 gem 我
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • Rubymine 6 更新/刷新 Rails 项目中可用的方法和路径?

    这是一个例子 假设我更新路线resources foo这给我带来了一些新的道路 例如 new foo session当我开始在 ERB 视图中输入路径时 我希望它向我显示 建议自动完成与路径匹配的名称 当我输入 new foo 我会得到所有
  • 目前最流行的 Ruby on Rails AUTHORIZATION gem/plugin 是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Rails 控制台无法运行

    rbenv 红宝石版本 2 6 6 导轨版本 5 1 4 我正在较旧的代码库中工作 ruby 2 6 6 rails 5 4 1 这是我每天使用的代码库 我必须通过 rbenv 下载一个新的 ruby 版本作为单独的存储库 这样做在我的旧代
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • 在 Ubuntu 中执行 .cgi 文件

    我在 Ubuntu 下运行 Apache PHP 当我运行 cgi 文件时 通过http localhost mycgi cgi 浏览器将显示代码而不是运行它 如何让浏览器执行 CGI 文件而不是显示其内容 将这些行添加到您的 apache
  • 即使在急切加载之后,belongs_to 关联也会单独加载

    我有以下关联 class Picture lt ActiveRecord Base belongs to user end class User lt ActiveRecord Base has many pictures end 在我的

随机推荐

  • 输出子句 VS 触发器

    在我们的数据库中 大多数表都有一个dbupddate字段表示datetime最后的INSERT or UPDATE应用在该行 为了避免该字段有错误的值 存在触发器 有时AFTER 有时INSTEAD OF 这确保最终该值是正确的 而不是有人
  • EF 4.1 Code First 中的 XML 数据类型

    我想使用 SQL Serverxmltype 作为实体类的列类型 根据这个线程 https social msdn microsoft com Forums en US 2d6b75ee a1b7 44bf b5f3 d32b12f2db6
  • 无法连接到 Elasticsearch(通过 Curl)

    我最近安装了 Elasticsearch 前几天一切都运行良好 但不知何故今天它停止工作了 当我启动服务时 它声称没问题 sudo etc init d elasticsearch start Starting Elasticsearch
  • 如何强制mysql UPDATE查询使用索引?如何让mysql引擎自动使用索引而不是强制使用索引?

    下面是不使用最近创建的复合索引的更新查询 查询计划 解释表明它没有使用名为的复合索引radacctupdate我认为这将使更新查询更快 表上还有其他索引可供其他查询使用 EXPLAIN UPDATE radacct SET acctstop
  • 如何在Scheme中列出评估的所有中间步骤

    例如 如果有表达式 map lambda x add1 x 1 2 3 其评估结果为 2 3 4 如何显示所有中间步骤 在本例中为 map lambda x add1 x 2 2 3 map lambda x add1 x 2 3 3 我认
  • 每次调试运行时禁用辅助服务

    每次启动新的调试实例时 我的辅助功能服务都会重置为禁用状态 有什么方法可以在连续的调试运行中保持启用它 因为每次启用它以调试服务是相当漫长且无聊的 我在真实设备和模拟器上有相同的行为 服务中没有异常 我尝试了事件处理程序中没有代码的事件 我
  • 在编译库中查找 System.gc()

    我在 gc 日志中看到显式的 gc 调用 见下文 我可以使用 XX DisableExplicitGC 删除调用 但我真的想知道哪个代码 库正在调用System gc 关于如何追踪它有任何提示吗 2011 05 30T12 21 48 23
  • 有哪些好的 java make 实用程序?

    我正在寻找一个用于构建大型 java 程序的 make 实用程序 我已经知道 ANT 但想看看还有什么可用的 理想情况下 它应该能够处理导致 GNU Make 混乱的 java gt class 包目录怪异现象 Win32 但跨平台是一个优
  • Rails:对渲染视图进行后处理

    某些 Rails 应用程序会生成一个视图 其中显示有关资源的一些信息 我想通过插件抑制一些信息 而不改变或覆盖视图 一种可能的方法是重写插件中的视图 但这可能会干扰其他插件 我不希望这样 有没有办法修改控制器 以便生成的视图在发送到客户端之
  • 如何检测flutter应用程序何时从后台返回?

    我想检测扑动应用程序何时从后台返回 在其他跨App开发的SDK中 当应用程序更改此状态时 通常会有一个监听器 flutter中有类似的东西吗 class AppState extends State
  • HTTP 标头中的 unicode 用户代理合法吗?

    我正在维护的一个应用程序将从 Web 日志中提取的用户代理加载到使用 latin1 字符集的 MySQL 表列中 有时 它无法加载如下所示的用户代理 Mozilla 5 0 I CPU iPhone OS 5 0 1 like Mac OS
  • UIImageView.appearance 覆盖 UISegmentedControl.appearance

    我一直在尝试使用外观代理 API 将一些默认颜色应用于某些控件 但遇到了问题 当我应用色调颜色时UISegmentedControl使用类似 UISegmentedControl appearance tintColor UIColor r
  • Qt:如何获取当前正在运行的窗口?

    我正在编写一个模拟按键的测试应用程序 我想了解每次按键后显示的窗口 这是代码块 std auto ptr
  • Colorbar - Matlab 中的轴刻度

    我正在使用下面的代码 d3 vals n datesmonth figure plot n d3 colormap jet 12 hold on plot n d3 b scatter n d3 RiskierInd filled caxi
  • React Native iOS 有效登录后“Safari 无法打开页面,因为地址无效”

    登录成功后得到如下信息 登录流程在 Android 上按预期工作 并正确返回令牌 刷新等 Safari 无法打开页面 因为地址无效 错误屏幕录制 https i stack imgur com N5esc gif Auth0 Callbac
  • 单一案例歧视工会的目的

    我正在定义一个单子可观察 反应式解析器 这与普通解析器的行为完全不同 因为它是连续查询 底层类型是 IObservable lt a gt gt IObservable lt b gt 从函数式语言中的各种解析器实现来看 似乎定义事物的更合
  • 声纳错误条件不应无条件评估为“TRUE”或“FALSE”

    我遇到声纳违规 条件不应无条件评估为 TRUE 或 FALSE 对于下面的代码 List
  • 将 LESS 嵌套 CSS 转换为标准 CSS

    我需要帮助尝试将这种 LESS 嵌套 CSS 转换为标准 CSS 有人可以帮忙吗 leftNav a TopLevel float none ul topnav gt li float none height 2em margin 2px
  • 在 .NET 中模拟 Python 的 random.choice

    Python 的 random 模块有一个函数random choice http docs python org library random html random choice random choice seq 从非空序列 seq
  • 使用 upstart 脚本守护 sidekiq - 不起作用

    我正在尝试使用以下两个新贵脚本来守护 sidekiqthis https github com mperham sidekiq tree master examples upstart manage one例子 基本上 workers 服务