Помогите изобрести велосипед на замену cron
Есть шаред, и вероятно по этому CronManager не работает. Есть снипет databackup, который нужно как то без хрона запускать как минимум раз в день.
Пока не придумал ничего лучше чем запускать из плагина, повешеного на событиt «логин в админку», что бьольше похоже на грязное извращение и мне не нравится совсем. Хотелось бы получить пинок, в каком направлении копать)
Пока не придумал ничего лучше чем запускать из плагина, повешеного на событиt «логин в админку», что бьольше похоже на грязное извращение и мне не нравится совсем. Хотелось бы получить пинок, в каком направлении копать)
Комментарии: 12
Крон теперь вроде бы на всех шаредах есть. Да и раньше как-то не встречались хостинги без поддержки крона. Может что-то настроили неправильно?
Хрон есть, но хронманагер не работает, пробовал как в rtfm по хронманагеру делать — не работает всеравно.
Вообще я понять не мог как он запускает сниппеты (я про компонент CronManager), сначала думал он встраивает плагин и реагирует на события, но нет. Добавляет что-то в админку, на первый взгляд ничего… Так как я ничего не нашел что запускает CronManager.
В кроне хостинга указал адрес до скрипта компонента: assets/components/cronmanager/cron.php
Ну и запускаю его каждые 1 минуту, а он уже обрабатывает все остальное.
Так как все заработало) Возможно так и нужно.
В кроне хостинга указал адрес до скрипта компонента: assets/components/cronmanager/cron.php
Ну и запускаю его каждые 1 минуту, а он уже обрабатывает все остальное.
Так как все заработало) Возможно так и нужно.
Можно воспользоваться любым внешним cron, который запускает процессы по URL.
Например www.setcronjob.com/
Тарифа 10$ в год хватит чтобы запускать процесс хоть каждые 15 минут.
Есть и бесплатный тариф, его хватит чтобы запускать 1 процесс раз в сутки.
Но ограничено время в 15 секунд (скрипт все равно отработает, но будет считаться ошибочным и результата не видно) и тариф нужно раз в месяц подтверждать.
Например www.setcronjob.com/
Тарифа 10$ в год хватит чтобы запускать процесс хоть каждые 15 минут.
Есть и бесплатный тариф, его хватит чтобы запускать 1 процесс раз в сутки.
Но ограничено время в 15 секунд (скрипт все равно отработает, но будет считаться ошибочным и результата не видно) и тариф нужно раз в месяц подтверждать.
www.site24x7.com/ — тут бесплатно
У setcronjob тоже есть бесплатный тариф.
Да и совсем не то. Мониторинг сервера и сервис крона все-таки разные вещи. Можно конечно приспособить мониторинг под крон (если вообще в мониторинге есть возможность указать произвольный URL, а не просто сайт) и и то получиться скорей всего только на платном тарифе, т.к. на бесплатном отправляется HEAD, но специальный сервис для крона гибче, даже на бесплатном тарифе.
Да и совсем не то. Мониторинг сервера и сервис крона все-таки разные вещи. Можно конечно приспособить мониторинг под крон (если вообще в мониторинге есть возможность указать произвольный URL, а не просто сайт) и и то получиться скорей всего только на платном тарифе, т.к. на бесплатном отправляется HEAD, но специальный сервис для крона гибче, даже на бесплатном тарифе.
www.phpjobscheduler.co.uk/ — достойное решение.
цепляй на index.php
цепляй на index.php
Насколько понял тут предлагается размещать на сайте картинку, которая указывает на специальный PHP скрипт.
А он уже сверяется со временем запуска скриптов и запускает их
Если это так, то не рекомендую так делать.
1. У посетителей будет лишняя картинка, которая может грузится очень долго, если операция долгая
2. Непрогнозируемое время запуска. Бэкапы должны запускаться ночью, а вдруг ночью никто на сайт не зашел?
А он уже сверяется со временем запуска скриптов и запускает их
Если это так, то не рекомендую так делать.
1. У посетителей будет лишняя картинка, которая может грузится очень долго, если операция долгая
2. Непрогнозируемое время запуска. Бэкапы должны запускаться ночью, а вдруг ночью никто на сайт не зашел?
Я первым делом сам собрался написать плагин, который вешается на открытие страницы в web и смотрит, сколько времени прошло, что впринципе тоже самое но без картинок, но решил что может что-то более изящное есть.
Обычно делают без крона так — при открытии сайта (или чего-то что часто запускают) выполняется скрипт — смотрит в БД или в временном файле метку времени, сравнивает с текущей — если разница больше N часов, то выполняет нужный скрипт и перезаписывает метку времени на текущую.
Если времени прошло меньше — то не выполняет.
Если времени прошло меньше — то не выполняет.
через curl, но его тоже может не быть на шареде, где нет крона.
На случай, если кто то станет искать cron не зная про готовый планировщик для MODX — Scheduler
Бесплатное расширение.
Бесплатное расширение.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.