You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Heroku运行的应用如何获取Procfile中定义的当前启动进程名称

你可以直接读取Heroku默认注入的DYNO环境变量来获取当前进程的类型,无需额外配置。

Heroku会为每个运行的dyno自动注入DYNO环境变量,其值格式为<进程名>.<实例序号>,比如web进程的变量值可能为web.1、web.2,job进程的变量值可能为job.1、job.3,你只需要对该变量的值按.分割取第一个元素,就能得到当前进程在Procfile中定义的名称。

在Rails应用中可以按以下方式使用:

# 安全提取当前进程类型
current_process = ENV['DYNO']&.split('.')&.first

case current_process
when 'web'
  # 仅web进程执行的初始化逻辑,比如挂载监控中间件、配置静态资源缓存
when 'job'
  # 仅job进程执行的初始化逻辑,比如设置队列并发数、初始化任务中间件
end

如果本地开发需要模拟对应进程的运行逻辑,可以在启动命令前手动添加环境变量,示例:
DYNO=job.1 bundle exec run jobs

内容的提问来源于stack exchange,提问作者Boris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:06:04