gpt4 book ai didi

ruby-on-rails - 在 ubuntu 启动时运行 rake 任务

转载 作者:行者123 更新时间:2023-12-04 18:38:25 25 4
gpt4 key购买 nike

嗨,我在设置 rake 任务以在 Amazon EC2 上的 ubuntu 实例启动/重新启动时运行时遇到了一些麻烦。

我需要让我的实例在启动新实例时启动一个简单的延迟作业“rake jobs:work”命令,而无需使用 ssh 登录并手动运行该命令。问题是 - 我无法让它执行命令。它在终端上运行良好,但在启动时无法自行运行。我已尝试按照 this link 中的说明进行操作,但似乎没有任何效果。

我在一个 Natty 11.04 实例上,我已经通过 rvm 安装了 ruby​​ 和 gems。

最佳答案

您需要在 bash 脚本中调用如下所示的内容:

su - deploy -c "cd $RAILS_ROOT && rake RAILS_ENV=development jobs:work" >> $RAILS_ROOT/log/myjob.log 2>&1

然后从/etc/init.d/mystartup_filename 调用它。该文件可能类似于:
#! /bin/sh
RAILS_ROOT="/home/deploy/rails_root"
ENV="development"

case "$1" in
start)
echo -n "Starting my job: "
su - deploy -c "cd $RAILS_ROOT && rake RAILS_ENV=$ENV jobs:work" >> $RAILS_ROOT/log/myjob.log 2>&1
echo "done."
;;
stop)
echo -n "Stopping my job: "
su - deploy -c "cd $RAILS_ROOT && rake RAILS_ENV=$ENV jobs:stopwork" >> $RAILS_ROOT/log/myjob.log 2>&1
echo "done."
;;
*)
echo "Usage: $N {start|stop}" >&2
exit 1
;;
esac

exit 0

关于ruby-on-rails - 在 ubuntu 启动时运行 rake 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6207335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com