Ruby on rails 在Rails中使用.env文件的Foreman条件过程
我在RubyonRails应用程序中使用ForemanGem来启动不同的进程。 在.env文件中,我声明了一些布尔变量来决定是否要运行进程 我希望能够启用或禁用«maildev»,这是一个nodejs应用程序,用于在本地处理电子邮件。如果布尔值为true,则工作正常,但如果将其更改为false,foreman将在启动时崩溃 这是foreman留下的痕迹:Ruby on rails 在Rails中使用.env文件的Foreman条件过程,ruby-on-rails,node.js,foreman,Ruby On Rails,Node.js,Foreman,我在RubyonRails应用程序中使用ForemanGem来启动不同的进程。 在.env文件中,我声明了一些布尔变量来决定是否要运行进程 我希望能够启用或禁用«maildev»,这是一个nodejs应用程序,用于在本地处理电子邮件。如果布尔值为true,则工作正常,但如果将其更改为false,foreman将在启动时崩溃 这是foreman留下的痕迹: 13:20:17 web.1 | started with pid 6583 13:20:17 mailer.1 | started w
13:20:17 web.1 | started with pid 6583
13:20:17 mailer.1 | started with pid 6584
13:20:17 mailer.1 | ====== Maildev server not launched ======
13:20:17 mailer.1 | exited with code 0
13:20:17 system | sending SIGTERM to all processes
13:20:17 web.1 | terminated by SIGTERM
我的.env文件:
RACK_ENV=development
START_MAILDEV=false
# Rails server
web: bin/procfile/web
# Mail server
mailer: bin/procfile/maildev
#!/bin/sh
if [[ "$RACK_ENV" == 'development' ]]; then
if [[ "$START_MAILDEV" == "true" ]]; then
maildev
echo "====== Maildev server launched ======"
else
echo "====== Maildev server not launched ======"
fi
fi
我的程序文件:
RACK_ENV=development
START_MAILDEV=false
# Rails server
web: bin/procfile/web
# Mail server
mailer: bin/procfile/maildev
#!/bin/sh
if [[ "$RACK_ENV" == 'development' ]]; then
if [[ "$START_MAILDEV" == "true" ]]; then
maildev
echo "====== Maildev server launched ======"
else
echo "====== Maildev server not launched ======"
fi
fi
bin/procfile/maildev:
RACK_ENV=development
START_MAILDEV=false
# Rails server
web: bin/procfile/web
# Mail server
mailer: bin/procfile/maildev
#!/bin/sh
if [[ "$RACK_ENV" == 'development' ]]; then
if [[ "$START_MAILDEV" == "true" ]]; then
maildev
echo "====== Maildev server launched ======"
else
echo "====== Maildev server not launched ======"
fi
fi
有人知道我的代码有什么问题吗?谢谢 您的代码很好,但是当您的一个进程退出时(echo立即退出),Foreman会关闭其余的进程 领班批准的只运行某些流程的方法是使用 -c,--concurrency 指定要运行的每个进程类型的数目。传入的值的格式应为process=num,process=num 就你而言
foreman start -c web=1
如果您有很多进程,并且希望除一个之外都运行它们,那么有一个特殊的all
关键字,然后您可以覆盖不需要的进程
foreman start -c all=1,maildev=0
您的代码很好,但是当您的一个进程退出时(echo立即退出),Foreman会关闭其余的进程 领班批准的只运行某些流程的方法是使用 -c,--concurrency 指定要运行的每个进程类型的数目。传入的值的格式应为process=num,process=num 就你而言
foreman start -c web=1
如果您有很多进程,并且希望除一个之外都运行它们,那么有一个特殊的all
关键字,然后您可以覆盖不需要的进程
foreman start -c all=1,maildev=0
您的代码很好,但是当您的一个进程退出时(echo立即退出),Foreman会关闭其余的进程 领班批准的只运行某些流程的方法是使用 -c,--concurrency 指定要运行的每个进程类型的数目。传入的值的格式应为process=num,process=num 就你而言
foreman start -c web=1
如果您有很多进程,并且希望除一个之外都运行它们,那么有一个特殊的all
关键字,然后您可以覆盖不需要的进程
foreman start -c all=1,maildev=0
您的代码很好,但是当您的一个进程退出时(echo立即退出),Foreman会关闭其余的进程 领班批准的只运行某些流程的方法是使用 -c,--concurrency 指定要运行的每个进程类型的数目。传入的值的格式应为process=num,process=num 就你而言
foreman start -c web=1
如果您有很多进程,并且希望除一个之外都运行它们,那么有一个特殊的all
关键字,然后您可以覆盖不需要的进程
foreman start -c all=1,maildev=0
谢谢你的快速回复!我现在将使用此命令,即使我更愿意运行
foreman start
并让文件处理条件谢谢您的快速回复!我现在将使用此命令,即使我更愿意运行foreman start
并让文件处理条件谢谢您的快速回复!我现在将使用此命令,即使我更愿意运行foreman start
并让文件处理条件谢谢您的快速回复!即使我希望只运行foreman start
并让文件处理这些条件,我现在也会使用这个命令