Страница 1 из 2
Выполнение команд по расписанию
Добавлено: Ср янв 29, 2014 2:19 pm
Kod.Begemot
Добрый день!
Подскажите, как лучше реализовать выполнение определенных скриптов (команд?) по расписанию?
Мне нужно чтобы, к примеру, каждый будний день выполнялся скрипт включения теплого пола в ванной утром (5 часов) и скрипт выключения его через 3 часа. Скрипты я написал, опробовал - работают.
А вот куда их прописать - и куда прописать время и день недели запуска - я так и не понял.
Пробовал через "Задания" - работает, но только один раз - и "через N часов/минут... и т.п."
Пробовал через "Календарь - Добавить - Задача..." но там не нашел как указать время.
P.S. Прошу прощения, если вопрос "ламерский", но я только учусь

Re: Выполнение команд по расписанию
Добавлено: Ср янв 29, 2014 2:37 pm
Lewcom
Re: Выполнение команд по расписанию
Добавлено: Ср янв 29, 2014 2:53 pm
Anton_kulibin
В OnNewMinute Прописать проще некуда, у меня так включается подогрев в гараже.
Код: Выделить всё
if (timeIs("05:00")) {
//Запуск любого метода или сценария
}
Re: Выполнение команд по расписанию
Добавлено: Ср янв 29, 2014 3:58 pm
Kod.Begemot
Спасибо, уже понятнее

Попробовал -
if (timeIs("05:00")) {
...
}
работает отлично, теперь непонятно - где взять день недели...
в оригинале есть конструкция
"if (isWeekDay()) {
}
но не совсем понятно как использовать эту функцию..
конструкция
if (isWeekDay() <= 7) {
}
не работает

Re: Выполнение команд по расписанию
Добавлено: Ср янв 29, 2014 4:05 pm
Anton_kulibin
"if (isWeekDay()) {
}
Означает, что конструкция выполняется по рабочим дням недели (понедельник-пятница)
для выходных я делал
if (!(isWeekDay())) {
}
или просто
if (isWeekDay()) {
// код для рабочих дней
} else
{
//код для выходных суббота, воскресенье
}
Re: Выполнение команд по расписанию
Добавлено: Ср янв 29, 2014 5:18 pm
sergejey
еще как вариант использовать стандартную PHP-функцию date('w') которая возвращает число от 0 до 6 в зависимости от дня недели (воскресенье, понедельник, вторник и т.д. до субботы)
например:
Код: Выделить всё
if (date('w')==5) {
say('Ура, пятница!');
}
Re: Выполнение команд по расписанию
Добавлено: Ср янв 29, 2014 8:11 pm
Kod.Begemot
Спасибо большое!
Сейчас буду пробовать

Re: Выполнение команд по расписанию
Добавлено: Чт фев 06, 2014 12:53 pm
Leks
Всем, привет!
Столкнулся с такой же задачей,
В результате появился модуль для выполнения задач по расписанию
Пока находится в длительном тестировании, но уже вполне работоспособен
Может кому еще пригодится -
https://github.com/Leks-ha/Majordomo_sc ... job_module
Документация там же в pdf файле
Re: Выполнение команд по расписанию
Добавлено: Пт фев 07, 2014 12:33 pm
LutsenkoDenis
Хм, прикольно.
Чтобы я поменял....тиб таблиц в InnoDB с добавлением форенкея, чтобы не получилось так что job action в таблицу записался а job id нет.
И логирование или отправка на почту о том что что-то не выполнилось.
Ну и добавить в маркет приложений. Чтоб устанавливалось одним нажатием кнопки

Re: Выполнение команд по расписанию
Добавлено: Пт фев 07, 2014 3:45 pm
Leks
Согласен, без форинкея как-то не по феншую
Добавил отправку на стандартную почту PROJECT_BUGTRACK, мне казалось админская почта только тут настраивается, поправьте, если ошибаюсь
А вот с установкой в один клик вопрос, я не совсем понимаю как маркет дополнений выполняет SQL, необходимый для установки модуля,
в самом модуле(взять любой стандартный в поставке) есть метод dbInstall, но там я не видел, чтоб прописывались форинкеи
если кто знает, расскажите