Как настроить cronjob, который посещает сайт каждые 5 минут - PullRequest
0 голосов
/ 22 ноября 2011

Хостинг на сайтах на 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.

1 Ответ

0 голосов
/ 22 ноября 2011

добавить что-то, что происходит на вашей странице URL.в вашем примере http://myapp.heroku.com/index.php file.

напишите в БД или файл будет лучше

...