Ruby on rails 在Rails中使用.env文件的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

我在RubyonRails应用程序中使用ForemanGem来启动不同的进程。 在.env文件中,我声明了一些布尔变量来决定是否要运行进程

我希望能够启用或禁用«maildev»,这是一个nodejs应用程序,用于在本地处理电子邮件。如果布尔值为true,则工作正常,但如果将其更改为false,foreman将在启动时崩溃

这是foreman留下的痕迹

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
并让文件处理这些条件,我现在也会使用这个命令