要了解有关heroku日程安排的更多信息,请阅读this帖子并构建其中描述的应用程序。这篇文章的关键部分是我能够执行heroku run numCheck
和code within the numCheck file。在测试heroku run numCheck
工作之后,我能够在Heroku中安排定期发生的事件。
我使用yo angular-fullstack创建了我的应用Angel Insights,并且功能正常。但是我想添加heroku调度功能,但我遇到了问题。我的问题是,在我运行heroku run refresh
后,我无法在Dist文件夹中运行grunt build
。这是我特别试过的......
````````
#!/usr/bin/env node
var sendgrid = require('sendgrid')(
process.env.SENDGRID_USERNAME,
process.env.SENDGRID_PASSWORD
);
var num1 = Math.ceil(Math.random() * 100);
var num2 = Math.ceil(Math.random() * 100);
var comparator;
if (num1 > num2) {
comparator = "greater than";
} else if (num1 < num2) {
comparator = "less than";
} else {
comparator = "equal to";
}
sendgrid.send({
to: 'andrewscheuermann@gmail.com',
from: 'scheduler@tester.com',
subject: 'Num1 v Num2',
text: (num1 + ' is ' + comparator + " " + num2 + ".")
}, function(err, json) {
if (err) {
console.error(err);
}
我真的被困了,任何见解都非常感激!
答案 0 :(得分:3)
使用角度生成器时,必须小心它覆盖dist
目录。每当你grunt build
,你就会开始使用一个大部分干净的dist
目录。
步骤应该是:
grunt build
cp refresh dist/refresh
cd dist && git commit
git push heroku master
heroku run refresh
主要的缺失步骤是你必须在复制后将复制的文件提交到dist
,否则heroku将无法获得它。您随时可以heroku run ls
或heroku run bash
查看您的文件是否存在。
在此之后,您应该查看Gruntfile.js
以确保每次都复制refresh
,您可能希望查看copy
任务。