我正在ep.io和heroku上托管一个网站。他们的工作方式是,当您的网站在一段时间内没有加入时,服务器“关闭”只会在有人访问您的域时重新启动。我注意到这通常需要15秒才能加载页面。
为了解决这个问题,我想在我拥有的另一个托管上创建一个cron作业,例如每隔5分钟尝试访问我的ep.io/heroku网页。然而,我不知道这是如何工作的,因为我从未使用过cronjobs。
我想我应该在crontab上添加这样的内容:
*/5 * * * * /usr/bin/curl --silent http://myapp.heroku.com
这是一个有效的crontab行吗?如果不是,应该怎么做?
答案:
好的,经过一番搜索我发现了一个解决方案,我会在这里发布,以便其他人可以受益。
创建一个加载URL的python脚本(例如acces_page.py):
#!/usr/bin/env python
import urllib2
if __name__ == '__main__':
f = urllib2.urlopen('http://myapp.heroku.com')
print f.read(10)
然后将它上传到你的第二个,而不是heroku,服务器(/ webapps / myapp / for me),并将以下行添加到你的crontab(crontab -e
):
*/5 * * * * ~/webapps/myapp/access_page.py > $HOME/cron.log 2>&1
这将每五分钟运行一次脚本,访问python脚本中定义的网页。要测试它是否有效,它将在$ HOME目录的cron.log文件中输出网页的前10个字符。
如果它显示拒绝访问,请使用chmod +x access_page.py
chmod你的.py文件。