假设我想每5分钟运行一个这个简单的脚本并将输出发送到我的电子邮件中?
在通常的服务器上,我只是这样做:
$ cat echo.sh
#!/bin/sh
echo "Hello"
$ crontab -l
*/5 * * * * /whatever/bin/echo.sh
这会向我发送一封电子邮件,其中脚本名称为主题,Hello
每隔5分钟发送一次。
如何在Heroku上获得相同的行为?
答案 0 :(得分:0)
这是一个快速解决方案,每隔10分钟向您发送一封电子邮件。 heroku调度程序不提供更短的间隔。安装这两个附加组件:
https://addons.heroku.com/sendgrid(发送电子邮件)
heroku addons:add sendgrid
https://addons.heroku.com/scheduler(安排工作)
heroku addons:add scheduler
然后将流动的脚本 mail.sh 添加到您的应用中:
#!/bin/sh
SGTO=receiver@example.com
SGTONAME='Some Name'
SGSUBJECT='Email Subject'
SGFROM=from@example.com
SGTEXT='Email Text'
curl -d "to=${SGTO}&toname=${SGTONAME}&subject=${SGSUBJECT}&text=${SGTEXT}&from=${SGFROM}&api_user=${SENDGRID_USERNAME}&api_key=${SENDGRID_PASSWORD}" https://api.sendgrid.com/api/mail.send.json
最后转到您的计划程序并添加新作业。指定bash mail.sh
作为任务。