SmartLiving.ru

Обсуждение проекта
 
Текущее время: Ср июн 28, 2017 6:50 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Пн май 08, 2017 1:51 pm 
Не в сети

Зарегистрирован: Ср фев 15, 2017 10:54 pm
Сообщения: 14
Благодарил (а): 8 раз.
Поблагодарили: 0 раз.
Вопрос пожалуй к автору - возможно в систему
к объекту 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']));
 


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн май 08, 2017 2:55 pm 
Не в сети
Аватара пользователя

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

можно конечно элементарно дописать руками в мэйнцикле, но при обновлении пропадет


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт май 19, 2017 5:25 pm 
Не в сети

Зарегистрирован: Ср фев 15, 2017 10:54 pm
Сообщения: 14
Благодарил (а): 8 раз.
Поблагодарили: 0 раз.
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 мне кажется хорошей идеей :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт май 19, 2017 9:59 pm 
Не в сети

Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Сообщения: 242
Благодарил (а): 19 раз.
Поблагодарили: 53 раз.
у меня есть скрипт newDay- он выполняется по
1. условию - время=00:00 в Cron
2. добавлен в метод ThisComputer.StartUp


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB