运行文件的heroku Scheduler命令是什么?

时间:2018-09-05 12:14:02

标签: javascript node.js bash heroku heroku-cli

我试图使用heroku插件“ scheduler”运行myFile

简化的文件结构(MyProject是根目录)

MyProject -> bin -> myFile

MyFile

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

从我的PC本地从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

enter image description here

我尝试将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 个答案:

答案 0 :(得分:0)

根据Heroku Scheduler Documentation,您应使用heroku run myFile来测试命令在本地是否起作用。 该文档还说明了如何使用Scheduler仪表板中的滑轨进行操作的方法:

  

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

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