Хостинг на сайтах на ep.io и heroku. Они работают так, что, когда ваш веб-сайт не принимается в течение некоторого времени, сервер «отключается» только для перезапуска, когда кто-то посещает ваш домен. Я заметил, что загрузка страницы обычно занимает до 15 секунд.
Чтобы противостоять этой проблеме, я хочу сделать работу cron на другом моем хостинге, который пытается получить доступ к моей веб-странице ep.io/heroku, например, каждые 5 минут. Однако я понятия не имею, как это будет работать, поскольку я никогда не использовал cronjobs.
Думаю, мне следует добавить что-то подобное в crontab:
*/5 * * * * /usr/bin/curl --silent http://myapp.heroku.com
Это допустимая строка crontab? Если нет, как это должно быть?
Ответ:
Хорошо, после некоторых поисков я нашел решение, я опубликую его здесь, чтобы другие могли извлечь выгоду.
Создайте скрипт на python (например, acces_page.py), который загружает URL:
#!/usr/bin/env python
import urllib2
if __name__ == '__main__':
f = urllib2.urlopen('http://myapp.heroku.com')
print f.read(10)
Затем загрузите его куда-нибудь на свой второй сервер, а не на heroku (/ webapps / myapp / для меня) и добавьте следующую строку в ваш crontab (crontab -e
):
*/5 * * * * ~/webapps/myapp/access_page.py > $HOME/cron.log 2>&1
Это будет запускать скрипт каждые пять минут, получая доступ к вашей веб-странице, определенной в вашем скрипте python. Чтобы проверить, работает ли он, он выведет первые 10 символов веб-страницы в файле cron.log в вашем каталоге $ HOME.
Если он говорит что-то вроде отказа в доступе, измените ваш .py файл с помощью chmod +x access_page.py
.