运行文件的 heroku 调度程序命令是啥?

Posted

技术标签:

【中文标题】运行文件的 heroku 调度程序命令是啥?【英文标题】:What is the heroku scheduler command to run a file?运行文件的 heroku 调度程序命令是什么? 【发布时间】:2019-02-10 13:59:39 【问题描述】:

我尝试使用 heroku 插件“调度程序”运行 myFile

简化的文件结构(MyProject 为根)

MyProject -> bin -> myFile

我的文件

#!/usr/bin/env node
const foo = require('myFunc');
foo();
process.exit();

从我的电脑本地测试 heroku-cli bash 中的 MyFile,它按预期工作。但是我 Heroku 调度程序 cmd 很可能是错误的,因为调度程序在指定时间触发,我在日志中收到以下错误:

2018-09-05T12:00:08.323971+00:00 app[api]: Starting process with command `run eovendoEarnMoney` by user scheduler@addons.heroku.com
2018-09-05T12:01:05.759152+00:00 heroku[scheduler.4007]: Starting process with command `run myFile`
2018-09-05T12:01:06.419284+00:00 heroku[scheduler.4007]: State changed from starting to up
2018-09-05T12:01:08.283555+00:00 heroku[scheduler.4007]: State changed from up to complete
2018-09-05T12:01:08.223306+00:00 heroku[scheduler.4007]: Process exited with status 127
2018-09-05T12:01:08.154580+00:00 app[scheduler.4007]: bash: heroku: command not found

我尝试将 bash 命令(在上图中)更改为:run myFile。导致同样的错误,只是这次的错误是:

2018-09-05T12:01:08.154580+00:00 app[scheduler.4007]: bash: run: command not found

我在 this answer 之后为 heroku-cli 添加了一个构建包,因为我认为这会有所帮助。

运行“myFile”的正确命令是什么?

没有关于此事的文件

【问题讨论】:

【参考方案1】:

根据Heroku Scheduler Documentation,您应该使用heroku run myFile 来测试命令在本地运行。 该文档还解释了使用调度程序仪表板中的 rails 执行此操作的方法:

例如,添加rake update_feed,选择“每小时”和“:30”以在半小时内每小时更新一次订阅源。然后添加rake send_reminders,选择“每日”和“00:00”每天午夜发送提醒。

因此,在您的情况下,您应该将 heroku run myFile 更改为 myFile 到调度程序仪表板

【讨论】:

以上是关于运行文件的 heroku 调度程序命令是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 指定在哪个应用程序上运行命令?

“找不到那个应用程序。”在控制台中运行 heroku 命令时

重命名heroku应用程序的正确方法是啥?

heroku ECONNREFUSED:为所有运行命令连接 ECONNREFUSED

Heroku调度程序不是每小时运行一次

python 无法打开文件'manage.py'-“heroku 运行 python manage.py 迁移命令输入”