Как получить последнюю строку лога и запустить скрипт?

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
kymasya
Сообщения: 63
Зарегистрирован: Сб апр 25, 2015 2:14 pm
Благодарил (а): 7 раз
Поблагодарили: 5 раз

Как получить последнюю строку лога и запустить скрипт?

Сообщение kymasya » Сб фев 03, 2018 9:45 am

Хочу выводить лог в бегущую строку, мне нужно получить последнюю строку лога Алисы и вызвать скрипт?
Помогите пожалуйста.
shoutbox смотрел, последнюю строку вроди не проблема получить, но как получить прерывание в момент когда она добавлена в базу???
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Как получить последнюю строку лога и запустить скрипт?

Сообщение slgeo » Сб фев 03, 2018 11:20 am

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

http://<ip-адрес сервера>/popup/shoutbox.html?&limit=1&getdata=1&reverse=1  
За это сообщение автора slgeo поблагодарил:
kymasya (Сб фев 03, 2018 11:22 am)
Рейтинг: 1.16%
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
kymasya
Сообщения: 63
Зарегистрирован: Сб апр 25, 2015 2:14 pm
Благодарил (а): 7 раз
Поблагодарили: 5 раз

Re: Как получить последнюю строку лога и запустить скрипт?

Сообщение kymasya » Сб фев 03, 2018 11:22 am

slgeo писал(а):

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

http://<ip-адрес сервера>/popup/shoutbox.html?&limit=1&getdata=1&reverse=1   
Спасибо, я сделал через запрос к Sql

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

$res=SQLSelect("SELECT shouts.*, DATE_FORMAT(shouts.ADDED, '%H:%i') as DAT, TO_DAYS(shouts.ADDED) as DT, users.NAME, users.COLOR FROM shouts LEFT JOIN users ON shouts.MEMBER_ID=users.ID WHERE $qry ORDER BY shouts.ADDED DESC, ID DESC LIMIT $limit");
 
Вопрос в том, как получить прерывание при получении новой записи в логе?
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Как получить последнюю строку лога и запустить скрипт?

Сообщение slgeo » Сб фев 03, 2018 11:25 am

Ну, может костыль, но самый простой вариант - в OnNewMinute сравнивать последнюю строку с той, что была минуту назад и при несовпадении вызывать свой метод.
Раз достал всю запись из базы, то достаточно время последнего события сравнить.
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
kymasya
Сообщения: 63
Зарегистрирован: Сб апр 25, 2015 2:14 pm
Благодарил (а): 7 раз
Поблагодарили: 5 раз

Re: Как получить последнюю строку лога и запустить скрипт?

Сообщение kymasya » Сб фев 03, 2018 11:28 am

slgeo писал(а):Ну, может костыль, но самый простой вариант - в OnNewMinute сравнивать последнюю строку с той, что была минуту назад и при несовпадении вызывать свой метод
В этой реализации один минус - задержка до 1 минуты.

У меня такая идея, найти код, который добавляет в SQL строку и добавить в код функцию вызова скрипта.

Думаю начать поиск с модуля shoutbox.
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Как получить последнюю строку лога и запустить скрипт?

Сообщение slgeo » Сб фев 03, 2018 11:35 am

Все придумано до нас )
На свойство ThisComputer.lastSayMessage повесь метод.
За это сообщение автора slgeo поблагодарил:
kymasya (Сб фев 03, 2018 11:35 am)
Рейтинг: 1.16%
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
kymasya
Сообщения: 63
Зарегистрирован: Сб апр 25, 2015 2:14 pm
Благодарил (а): 7 раз
Поблагодарили: 5 раз

Re: Как получить последнюю строку лога и запустить скрипт?

Сообщение kymasya » Сб фев 03, 2018 11:36 am

slgeo писал(а):Все придумано до нас )
На свойство ThisComputer.lastSayMessage повесь метод.
Супер!!!

То что и нужно было!
Ответить