Проблемы с показом температуры
Модераторы: Людмила, PR, vd, Даниленко Сергей
-
- Сообщения: 7
- Зарегистрирован: 13 ноя 2015 12:23
Проблемы с показом температуры
Здравствуйте.
Такая ситуация. Показываем часы и под часами сделали инфо о погоде. Просто цифры, температура. Проблема в том, что процесс зависает. Начну всё с начала.
Была версия программы и плагинов где-то 5.7.3. Работало через чур плохо. Информацию о погоде брали из интернета, с яндекса. Могло зависнуть через час, максимум в течении суток. Поработало неделю и выключили. Через пол года администратор поумнел, и решил сделать собственный датчик температуры. Данные запрашиваются уже локально, по адресу 192.168.0.177. Зависания те же. Были даже наложения обновлений температуры друг на друга.
За это время вышли обновления. Установил ForwardT Software и Plugins 5.7.990. Процесс стал стабильнее. Самое долгое работало месяц без остановки. Но, всё равно, часто виснет либо через 2 минуты, либо "еще недельку поработает". Как повезёт. Пробовали на OnAir и OnAir2.
Как идёт запрос. Создан проект FDImage. В проекте через файл WebTracker запрашиваются данные каждые 3 секунды, делал и 10 и 15. Дольше 20 не обновляется вообще. Сохраняется изображение с температурой. Далее в программе в проекте FDTitleDesigne обновляется и выводится в эфир с помощью OnAir. В какой-то момент цепочка виснет, tga файл не обновляется. В последние две недели очень часто. Перезапускаю по 10 раз за день. Погода обновляется рандомно, когда каждые установленное время, а когда и через 60 секунд...
Процесс перезапуска такой. В начале я пробовал просто перезагрузить титровальный объект в настройках программы. Не помогает, иногда выдает ошибку, и все титры отключаются. Значит сервис выключился. Либо закрываю в диспетчере задач процесс SLTitleRunTimeServer, находящийся в папке FDTitle. Титры отключаются. Тогда просто перезапускаю OnAir. Сейчас я просто перезапускаю OnAir. Через браузер данные приходят моментально и корректные.
Сегодня случайно обнаружил. В момент зависания, я открыл проект FDImage и попробовал подготовить проект. Зависло, сработал таймаут. Не получилось. Сейчас попробовал "подготовить проект", подготовилось, нажал "Старт". На экран стало выводится две температуры поочереди, корректная и зависшая.
Помогите найти какое-то решение.
Такая ситуация. Показываем часы и под часами сделали инфо о погоде. Просто цифры, температура. Проблема в том, что процесс зависает. Начну всё с начала.
Была версия программы и плагинов где-то 5.7.3. Работало через чур плохо. Информацию о погоде брали из интернета, с яндекса. Могло зависнуть через час, максимум в течении суток. Поработало неделю и выключили. Через пол года администратор поумнел, и решил сделать собственный датчик температуры. Данные запрашиваются уже локально, по адресу 192.168.0.177. Зависания те же. Были даже наложения обновлений температуры друг на друга.
За это время вышли обновления. Установил ForwardT Software и Plugins 5.7.990. Процесс стал стабильнее. Самое долгое работало месяц без остановки. Но, всё равно, часто виснет либо через 2 минуты, либо "еще недельку поработает". Как повезёт. Пробовали на OnAir и OnAir2.
Как идёт запрос. Создан проект FDImage. В проекте через файл WebTracker запрашиваются данные каждые 3 секунды, делал и 10 и 15. Дольше 20 не обновляется вообще. Сохраняется изображение с температурой. Далее в программе в проекте FDTitleDesigne обновляется и выводится в эфир с помощью OnAir. В какой-то момент цепочка виснет, tga файл не обновляется. В последние две недели очень часто. Перезапускаю по 10 раз за день. Погода обновляется рандомно, когда каждые установленное время, а когда и через 60 секунд...
Процесс перезапуска такой. В начале я пробовал просто перезагрузить титровальный объект в настройках программы. Не помогает, иногда выдает ошибку, и все титры отключаются. Значит сервис выключился. Либо закрываю в диспетчере задач процесс SLTitleRunTimeServer, находящийся в папке FDTitle. Титры отключаются. Тогда просто перезапускаю OnAir. Сейчас я просто перезапускаю OnAir. Через браузер данные приходят моментально и корректные.
Сегодня случайно обнаружил. В момент зависания, я открыл проект FDImage и попробовал подготовить проект. Зависло, сработал таймаут. Не получилось. Сейчас попробовал "подготовить проект", подготовилось, нажал "Старт". На экран стало выводится две температуры поочереди, корректная и зависшая.
Помогите найти какое-то решение.
-
- Сообщения: 1403
- Зарегистрирован: 10 сен 2004 12:09
Версии программного обеспечения, про которые Вы пишите, не отличаются особой устойчивостью, и являются устаревшими.
Сейчас уже актуальны версии более новые, чем выпуск 5.8.0
https://forwardsl.blogspot.ru/
Так что хорошо бы обновить программное обеспечение.
Если есть желание, пришлите, пожалуйста, информацию о настройках, собранную в программе
C:\Program Files\ForwardT Software\Tools\SaveInfo\SLSaveInfo.exe
в отдел технической поддержки
forward@softlab.tv
forward@sl.iae.nsk.su
forward@softlab-nsk.com
со ссылкой на это сообщение в форуме.
Хотя, к работе WebTracker это отношения не имеет, старая или новая версия. Потому что это приложение устаревшее и этот проект уже не развивается, ошибки не исправляются.
Если хотите продолжить с ним работать, то наиболее устойчивый вариант - это когда приложение работает всё время, сохраняя информацию в текстовый файл, а ImageUpdater уже забирает информацию из этого текстового файла через задание типа Text (не Web).
На смену этому приложению для получения информации с сайтов Gismeteo и Yandex в своё время было разработано приложение
C:\Program Files\ForwardT Software\Tools\SLWeatherTracker\SLWeatherTracker.exe
http://www.softlab.tv/rus/forward/docs/ ... her_tr.pdf
Или более новое - через QML- информеры от сервиса Яндекс.Погода
C:\Program Files\ForwardT Software\QT\SLYandexWeatherDesigner.exe
http://www.softlab.tv/rus/forward/docs/ ... eather.pdf
Сейчас уже актуальны версии более новые, чем выпуск 5.8.0
https://forwardsl.blogspot.ru/
Так что хорошо бы обновить программное обеспечение.
Если есть желание, пришлите, пожалуйста, информацию о настройках, собранную в программе
C:\Program Files\ForwardT Software\Tools\SaveInfo\SLSaveInfo.exe
в отдел технической поддержки
forward@softlab.tv
forward@sl.iae.nsk.su
forward@softlab-nsk.com
со ссылкой на это сообщение в форуме.
Хотя, к работе WebTracker это отношения не имеет, старая или новая версия. Потому что это приложение устаревшее и этот проект уже не развивается, ошибки не исправляются.
Если хотите продолжить с ним работать, то наиболее устойчивый вариант - это когда приложение работает всё время, сохраняя информацию в текстовый файл, а ImageUpdater уже забирает информацию из этого текстового файла через задание типа Text (не Web).
На смену этому приложению для получения информации с сайтов Gismeteo и Yandex в своё время было разработано приложение
C:\Program Files\ForwardT Software\Tools\SLWeatherTracker\SLWeatherTracker.exe
http://www.softlab.tv/rus/forward/docs/ ... her_tr.pdf
Или более новое - через QML- информеры от сервиса Яндекс.Погода
C:\Program Files\ForwardT Software\QT\SLYandexWeatherDesigner.exe
http://www.softlab.tv/rus/forward/docs/ ... eather.pdf
-
- Сообщения: 7
- Зарегистрирован: 13 ноя 2015 12:23
В ближайшее время обновим до 5.8
Предложенная схема (сначала в текст, потом из текста в картинку) отработала недолго. Она работала с яндексом. Как правило, через час-два работы выходила какая-нибудь ошибка Explorer или ошибка скрипта страницы или еще что-нибудь, или просто зависала, и не обновлялось. На QML информеры нужна лицензия. Бесплатно, если только будет висеть логотип яндекса. Нас не устраивает. Поэтому вывесили датчик просто за окно и через web его опрашиваем.
А могу ли я в SLWeatherTracker добавить свой сайт? Там только гисметео и яндекс (раньше был).
Предложенная схема (сначала в текст, потом из текста в картинку) отработала недолго. Она работала с яндексом. Как правило, через час-два работы выходила какая-нибудь ошибка Explorer или ошибка скрипта страницы или еще что-нибудь, или просто зависала, и не обновлялось. На QML информеры нужна лицензия. Бесплатно, если только будет висеть логотип яндекса. Нас не устраивает. Поэтому вывесили датчик просто за окно и через web его опрашиваем.
А могу ли я в SLWeatherTracker добавить свой сайт? Там только гисметео и яндекс (раньше был).
-
- Сообщения: 1403
- Зарегистрирован: 10 сен 2004 12:09
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
А если логотипа нет, то Яндекс просит денег? Или о какой лицензии речь идёт? Мы, по крайней мере, никакой лицензии не требуем. Кому деньги платить?На QML информеры нужна лицензия. Бесплатно, если только будет висеть логотип яндекса.
Что за датчик? Модель, описание?Нас не устраивает. Поэтому вывесили датчик просто за окно и через web его опрашиваем.
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Предложенная схема (сначала в текст, потом из текста в картинку) отработала недолго.
А почему вашему админу не написать приладу, которая пишет температуру с вашего датчика в текстовый файл по формату задания Text для программы ImageUpdater?
И можно узнать о каких зависаниях FDTitle идёт речь? Программа вообще в процессе вывода информации в эфир никак не участвует.
-
- Сообщения: 7
- Зарегистрирован: 13 ноя 2015 12:23
Да, стоимость не уточняли, но общались с ними. Нужно было договор подписывать, и тд. и тп. Они дадут ключ на использование.Даниленко Сергей писал(а): А если логотипа нет, то Яндекс просит денег? Или о какой лицензии речь идёт? Мы, по крайней мере, никакой лицензии не требуем. Кому деньги платить?
У нас не тот бюджет. Да и яндекс частенько врёт. Иногда бывает аж на целых 10 градусов
Обычный ардуинка.Что за датчик? Модель, описание?
Админу нужно еще научиться писать это.А почему вашему админу не написать приладу, которая пишет температуру с вашего датчика в текстовый файл по формату задания Text для программы ImageUpdater? И можно узнать о каких зависаниях FDTitle идёт речь? Программа вообще в процессе вывода информации в эфир никак не участвует.
На счёт зависаний, если б я знал. В первом посту всё написано что и как. Простая перезагрузка титровального объекта в настройках OnAir не помогает. Только закрытие программы. Попробуем с новой версией, может там изменится что-то.
-
- Сообщения: 2311
- Зарегистрирован: 05 мар 2003 19:21
-
- Сообщения: 493
- Зарегистрирован: 04 янв 2004 12:45
- Откуда: СофтЛаб-НСК
Конечно, в первую очередь хочется услышать комментарии тех, кто уже подписал договор с Яндексом, но для меня очевидно, почему Яндекс хочет подписать договор, хоть и бесплатный. То есть да, Вы должны подписать договор и нет, этот договор не требует обязательной оплаты за использование информации о погоде, поэтому это решение подходит для любого бюджета.Evg3559 писал(а):Да, стоимость не уточняли, но общались с ними. Нужно было договор подписывать, и тд. и тп. Они дадут ключ на использование.
У нас не тот бюджет.
По-моему ключевой вопрос здесь - защита от DOS-атаки. Классическая DOS-атака - это часто повторяющиеся обращения с очень многих адресов. С этой точки зрения поведение титровального элемена, показывающего погоду, точно соответствует поведению кого-то, проводящего DOS-атаку. Нормальный пользователь один раз посмотрел погоду и все. А здесь несколько раз в минуту в течении многих-многих часов идут одни и те же запросы. Скорее всего анализаторы трафика у Яндекса (или GisMeteo, или любого другого погодного сайта) просто отключат через некоторое время конкретный IP-адрес. Вот и получаем в итоге не работающий через пару часов "получатель погоды". И в общем-то не важно, каким способом получается погода, в любом случае данные заблокируют. И только после перезапуска (когда уже прошло какое-то время, или когда что-то изменилось, чтобы защита посчитала, что уже другой пользователь обратился за информацией) сайт вновь начинает отдавать данные. Насколько я понимаю, договор гарантирует, что с указанного IP-адреса не будет осуществлятся DOS-атак, поэтому его вносят в белый список и данные с яндекса получаются всегда.
Ну и еще одно замечание про логотип Яндекса. Показывая логотип яндекса Вы с одной стороны рекламируете Яндекс и, соответственно, не платите ему за данные о погоде (обычно любые данные о погоде платные), а с другой стороны снимаете с себя ответственность за данные - это не Ваши данные, а данные Яндекса. То есть в случае судебных претензий за неверные данные о погоде Вы всегда сможете переложить ответственность на Яндекс - у Вас же есть официальный договор.
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Титры тут ни причём. Абсолютно ни причём. Проблема, в том, что задание типа WEB, которое вы используете в ImageUpdater перестаёт отдавать свежие значения. Это может происходить по многим причинам. В том числе и по описанным выше.Простая перезагрузка титровального объекта в настройках OnAir не помогает. Только закрытие программы. Попробуем с новой версией, может там изменится что-то.
Либо переходите на Яндекс.Погода - там не нужно ничего платить.
Либо ваш админ учится писать данные с датчика в текстовый файл.
-
- Сообщения: 117
- Зарегистрирован: 29 июн 2015 03:11
- Откуда: Казань
- Контактная информация:
Не мог проидти мимо любимой темы про погоду.
Вы писали что: и под часами сделали инфо о погоде. Просто цифры, температура
Зачем Вам ImageUpdater ?
SLWeatherTracker прекрасно получает погоду с ГисМетео, ставите интервал обновления 10 минут ( не чаще, это важно !)
SLWeatherTracker пишет значения в текстовый фаил, правда вида:
city: Казань
cloudiness: Пасмурно, поземок
temp: -3°C
wspeed: 5м/с
wdirect: ЮВ
humidity: 90%
water: 3°C
press: 757мм рт. ст.
image:
кроме погоды там есть еще куча ненужных значений, вам же нужна только температура.
Качаете Delphi, вешайте на форму timer1, ставите interval 120000 (примерно 2 минуты), вещайте на событие TForm1.Timer1Timer
код
var
p:string;
s,a:string;
t,u:textfile;
b,i,j:integer;
Begin
assignfile(t,'C:\titr\pogoda.txt');
reset(t);
assignfile(u,'C:\titr\pogoda1.txt');
rewrite(u);
readln(t,s);
readln(t,s);
readln(t,s);
b:=length(s);
a:='';
j:=0;
//Delay(100);
i:=12;
repeat
i:=i+2;
a:=a+s;
until i>=b;
for i:=1 to length(a)-2 do
write(u,a);
//
//AssignFile(u, 'C:\titr\pogoda1.txt');
//Reset(u);
//Readln(u, p);
Label3.Caption:=a;
//CloseFile(f);
closefile(t);
closefile(u);
end;
компилируете программу в exe, запускаете вместе с SLWeatherTracker
Где C:\titr\pogoda.txt - исходный фаил от SLWeatherTracker
а C:\titr\pogoda1.txt - отсортированный фаил с температурой, который можно скормить ТитлДизаинеру.
Данное решение работает более года и зарекомендовало себя только с наилучшей стороны.
Вы писали что: и под часами сделали инфо о погоде. Просто цифры, температура
Зачем Вам ImageUpdater ?
SLWeatherTracker прекрасно получает погоду с ГисМетео, ставите интервал обновления 10 минут ( не чаще, это важно !)
SLWeatherTracker пишет значения в текстовый фаил, правда вида:
city: Казань
cloudiness: Пасмурно, поземок
temp: -3°C
wspeed: 5м/с
wdirect: ЮВ
humidity: 90%
water: 3°C
press: 757мм рт. ст.
image:
кроме погоды там есть еще куча ненужных значений, вам же нужна только температура.
Качаете Delphi, вешайте на форму timer1, ставите interval 120000 (примерно 2 минуты), вещайте на событие TForm1.Timer1Timer
код
var
p:string;
s,a:string;
t,u:textfile;
b,i,j:integer;
Begin
assignfile(t,'C:\titr\pogoda.txt');
reset(t);
assignfile(u,'C:\titr\pogoda1.txt');
rewrite(u);
readln(t,s);
readln(t,s);
readln(t,s);
b:=length(s);
a:='';
j:=0;
//Delay(100);
i:=12;
repeat
i:=i+2;
a:=a+s;
until i>=b;
for i:=1 to length(a)-2 do
write(u,a);
//
//AssignFile(u, 'C:\titr\pogoda1.txt');
//Reset(u);
//Readln(u, p);
Label3.Caption:=a;
//CloseFile(f);
closefile(t);
closefile(u);
end;
компилируете программу в exe, запускаете вместе с SLWeatherTracker
Где C:\titr\pogoda.txt - исходный фаил от SLWeatherTracker
а C:\titr\pogoda1.txt - отсортированный фаил с температурой, который можно скормить ТитлДизаинеру.
Данное решение работает более года и зарекомендовало себя только с наилучшей стороны.
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
-
- Сообщения: 117
- Зарегистрирован: 29 июн 2015 03:11
- Откуда: Казань
- Контактная информация:
Да вроде как человек жаловался на нестабильность данного решения что:Следует отметить, что такое решение давным давно работает в программе ImageUpdater через задание типа Weather.
Самое долгое работало месяц без остановки. Но, всё равно, часто виснет либо через 2 минуты, либо "еще недельку поработает". Как повезёт.
И по Вашему, бросить на форму компоненту, и прописать в ее обработчике, вернее даже скопировать и вставить код, убрав строку с Label3 трудно?Работало через чур плохо. Информацию о погоде брали из интернета, с яндекса. Могло зависнуть через час, максимум в течении суток.
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Вы не совсем уловили на что именно человек жаловался.Да вроде как человек жаловался на нестабильность данного решения что:
Кроме того, есть такой модуль C:\Program Files\Common Files\SoftLab-Nsk\SLWeatherHTML.dll
Собственно именно он используется для парсинга. Через него данные и SLWeatherTracker, и ImageUpdater забирают.
Так что и вы, и мы ходим через одну и ту же дверь.
Представляете - трудно! Человеку, который не знаком с программированием -трудно.И по Вашему, бросить на форму компоненту, и прописать в ее обработчике, вернее даже скопировать и вставить код, убрав строку с Label3 трудно?
По коду вашему:
1)Нет проверки существуют файлы или нет.
2)Нет вообще никаких проверок
3)Читаем только три строки в железобетонной уверенности, что температура там будет всегда
4)120000 мс - это не примерно 2 минуты, а ровно 2 минуты. Хотя выше вы писали про какие-то магические 10 минут
5)Нет обработки ситуации, когда файл из SLWeatherTracker недоступен. Вы ведь не знаете с какими правами его открывают для записи.
И т.д. и т.п
Ну и размещать данные на диске С: - это не камильфо.
-
- Сообщения: 2311
- Зарегистрирован: 05 мар 2003 19:21