3 回答
TA贡献1934条经验 获得超2个赞
典型的模式是执行以下操作:
.
└── cmd
├── processX
│ └── main.go
└── web
└── main.go
并且您将heroku.install设置为["./cmd/..."],Heroku 编译并将这两个命令安装到 bin 中,因此您得到 abin/web和 a bin/processX(processX只是一个占位符,无论包含主包的目录名称是生成的可执行文件的名称)。在上述情况下,您Procfile会说web: web,第一个web是进程类型,第二个是可执行文件的名称。你会告诉调度程序运行的工作是processX.
明确区分职责
TA贡献1789条经验 获得超8个赞
Heroku 调度程序基本上会运行任何终端命令。因此,如果您将脚本编译成一个名为 的可执行文件myscript
,例如,您可以简单地输入:
myscript
在调度程序中,它将执行该命令,从而运行您的脚本 =) 不需要 ruby。
TA贡献1816条经验 获得超6个赞
我最终分叉了main我的网络测功机使用的相同功能:
func main () {
if len(os.Args) >= 2 && os.Args[1] == "my_job_param" {
// Execute job.
} else {
// Set up my web server with port, router, etc.
}
}
然后,在调度程序附加组件中,我只需调用:my-app-name "my_job_param". 这很 hacky,但我想使用 Scheduler 插件找到解决方案。
- 3 回答
- 0 关注
- 185 浏览
添加回答
举报