【问题标题】:Make a script that starts and shutdown both redis and sidekiq制作一个启动和关闭redis和sidekiq的脚本
【发布时间】:2020-11-26 04:04:20
【问题描述】:

总的来说,我对 Bash、redis 和 linux 还很陌生,我在创建脚本时遇到了麻烦。这也是我的第一个问题,希望不要重复。

所以问题来了,我在 ruby​​ 中创建一个简单的应用程序用于教育目的,但我尝试实现的功能使用 redis 和 sidekiq。我要做的是创建一个可执行脚本(我将其命名为服务器)启动redis服务器,启动redis,但它也应该在用户完成sidekiq后关闭redis。

这是我想出的:

#!/usr/bin/env sh

set -e

redis-server --daemonize yes

bundle exec sidekiq -r ./a/sample/path/worker.rb

redis-cli shutdown # this is not working, I want to execute this after shutting sidekiq down...

当我运行第四行时,它会启动小的 Sidekiq“欢迎页面”,直到我用 Control + C 关闭它之前我什么都做不了。我假设在用这个命令关闭它之后,它会继续我写的脚本,这将是redis-cli shutdown 命令。 但事实并非如此。当我Control + Csidekiq 时,它只是回到命令行。

有熟悉这些概念的人可以帮助我吗?我想要一个脚本,在我使用完 sidekiq 后也会关闭 redis。

谢谢!

【问题讨论】:

  • 我会为此研究 docker 和 docker-compose
  • 在 sidekiq 行末尾添加& 有帮助吗?另外,set -e 可能是一个过早的优化,你知道它是做什么的吗?如果遇到错误,您真的希望脚本停止处理吗?如果你只是从命令行运行它,那可能没问题,但如果你把它变成一个自动过程,你需要更好地处理错误(为了你未来的学习;-))。祝你好运。

标签: bash redis sidekiq


【解决方案1】:
猜你喜欢
  • 2014-06-03
  • 2021-02-25
  • 2021-12-30
  • 2013-01-23
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 1970-01-01
  • 2013-11-25
相关资源
最近更新 更多