К объекту ClockChime добавить метод OnNewDay

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Ответить
Velizar
Сообщения: 37
Зарегистрирован: Ср фев 15, 2017 10:54 pm

К объекту ClockChime добавить метод OnNewDay

Сообщение Velizar »

Вопрос пожалуй к автору - возможно в систему
к объекту ClockChime добавить метод OnNewDay

в коде cycle_main.php есть заготовка

Код: Выделить всё

if ($dt != $old_date)
   {
      //echo "new day\n";
      $old_date = $dt;
   }
 
Но по ходу дело дальше не дошло :D

Так как есть такие скрипты которые достаточно выполнять раз в сутки и при старте системы. Например чтобы получить астрономическую информацию, вот что-то нахалтурил

Код: Выделить всё

// Визначення астрономічних даних
$sun_info = date_sun_info(time(), 50.XXXXXXXX, 26.XXXXXXXX);

// Схід сонця
setGlobal('ThisComputer.SunRiseTime',date("H:i", $sun_info['sunrise']));

// Захід сонця
setGlobal('ThisComputer.SunSetTime',date("H:i", $sun_info['sunset']));

// Тривалість світлового дня
setGlobal('ThisComputer.DayLengthTime',gmdate("H:i", $sun_info['sunset'] - $sun_info['sunrise']));

// Сонце в зеніті
setGlobal('ThisComputer.SunTransitTime',date("H:i", $sun_info['transit']));

// Початок ранкових сутінок - civil_twilight_begin
setGlobal('ThisComputer.CivilTwilightBeginTime',date("H:i", $sun_info['civil_twilight_begin']));

// Кінець вечірніх сутінок - civil_twilight_end
setGlobal('ThisComputer.CivilTwilightEndTime',date("H:i", $sun_info['civil_twilight_end']));
 
Аватара пользователя
nightwind
Сообщения: 332
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Контактная информация:

Re: К объекту ClockChime добавить метод OnNewDay

Сообщение nightwind »

Зачем тебе их переть в базу, эти значения? я сделал файл с объектом астрономии, положил в папку библиотек, и обращаюсь к нему когда надо.
Но если так сильно хочется OnNewDay
вставь в onNewMinute
if (timeIs('00:00')) callMethod('чтото.OnNewDay');

можно конечно элементарно дописать руками в мэйнцикле, но при обновлении пропадет
Velizar
Сообщения: 37
Зарегистрирован: Ср фев 15, 2017 10:54 pm

Re: К объекту ClockChime добавить метод OnNewDay

Сообщение Velizar »

nightwind писал(а):Зачем тебе их переть в базу, эти значения? я сделал файл с объектом астрономии, положил в папку библиотек, и обращаюсь к нему когда надо.
Но если так сильно хочется OnNewDay
вставь в onNewMinute
if (timeIs('00:00')) callMethod('чтото.OnNewDay');

можно конечно элементарно дописать руками в мэйнцикле, но при обновлении пропадет
А дописать код в cycle_main.php, если там есть заготовка - наверное автор планировал его сделать.
И наверное надо сделать чтобы OnNewDay выполнялся при старте системы.
Ваш код

Код: Выделить всё

if (timeIs('00:00'))  callMethod('чтото.OnNewDay');
выполнится только в 00:00, а если систему запустили в 12:00 - выполнение кода произойдет только через 12 -часов.

Наличие метода OnNewDay у Timer мне кажется хорошей идеей :)
Аватара пользователя
xor
Сообщения: 2044
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: К объекту ClockChime добавить метод OnNewDay

Сообщение xor »

у меня есть скрипт newDay- он выполняется по
1. условию - время=00:00 в Cron
2. добавлен в метод ThisComputer.StartUp
Ответить