如何用heroku创建免费提醒服务 - chinnsyouki/stockreminder GitHub Wiki
很多时候需要定时执行一些重复性且没什么技术含量的任务,比如:
- 定时提醒我该交社保,该还信用卡了。
- 定时查看某只股票的价格。
- 定时给员工发送通知邮件。
对于这种量小且个性化的需求,个人开发者可以选用heroku来作为免费云服务器,创建定时提醒服务。
- Heroku账号注册:
- 由于是国外的服务器,屏蔽了QQ邮箱,最好使用Gmail。
- 准备一张信用卡(虽然是免费服务,但使用时依然需要绑定信用卡)。
- 绑定WxPusher:
- 一款提供个性化微信提醒的服务。使用时需要提前关注并绑定其微信号。
- 重点是免费,不过发送的消息里面会有广告。
- 安装Heroku CLI:
- 这是Heroku官方的命令行工具,通过Git来上传,管理代码。
- 参考:使用教程
登录进入Heroku Dashboard,创建创建一个新的app。
填写自定义的项目名。要记住你填写的app-name,后续使用Git上传代码时会用到。
(服务器只能选择美国或欧洲,可能访问速度会比较慢)
进入新建的app,选择Resources选项卡。
Heroku Scheduler是一个官方提供的附加服务。可以定时执行自定义的job。
参考:使用教程
比如你已经事前写好了一个发送邮件的Python脚本,将其命名为sendEmail.py
,放在根目录下。
可以用以下命令将其上传到Heroku服务器上。
参考:Heroku部署教程
heroku login ##输入注册时的用户名和密码,登录Heroku。
heroku git:remote -a app-name ##用Git远程连接Heroku仓库。
git push heroku master ##用Git推送代码。
注意:
在推送代码过程中,可能会需要验证你的auth token
。可以使用以下命令查看:
heroku auth:token
参考:解决方案
选择要重复执行的时间,注意默认时区为UTC,要将其转换成东八区的北京时间再设定。
填入下面要执行的命令,保存即可。
python sendEmail.py
最后,可以用以下命令行来检查你的代码是否正常运行。
heroku logs --tail --app app-name