Вопрос к Djelf, по карлику...

Автор MWW_Ruza, 25 марта 2025, 22:17

« назад - далее »

MWW_Ruza

Привет!
Сегодня, на фоне отвалившегося у всех ЕГАИС поймал странный глюк:
У одного из клиентов, карлик падает с критической ошибкой:



А у меня отрабатывает, без критической ошибки, и возвращает ошибку запроса 503, как собственно и должно быть в этой ситуации:



Конфигурации - идеинтичные, версия карлика тоже:



ОС на обеих компах тоже одинаковая - семерка 32...
С чем это может быть связано? У него каких-то библиотек не хватает?
ВК все грузятся одни и те-же, в том-же порядке...
Как-то странно.

PS Обработка, кстати твоя - по получению статусов объектов ЕГАИС.
Падает прямо сразу, на получении каринки для капчи...

Djelf

карлик полностью независим (ну... почти) от любых библиотек, и он работает даже на wine под linux (для этого и делался).

расшифровка ошибки есть в демке
56 CURLE_RECV_ERROR Ошибка, возникает при сбое получения данных по сети

имхо, какая-то софтина на компе или роутере перехватывает связь и ее рвет

надо включить отладку карлика и смотреть что там внутрях происходит
по факту это не сильно поможет, но может навести на какие-то мысли о том кто или что блокирует доступ

с егаис и проверкой капчи там странно, сделал аналог для 8ки (на штатных для 8ки методах), какое-то время работало, потом перестало
ключ капчаи перестал проходить (с 3-10 раза прокатывало), видимо какие-то сессионные данные стали протухать и капча менялась
видимо защиту усилили
но, поскольку та база на 8ке ушла в небытие, то и разбираться не стал

MWW_Ruza

Цитата: Djelf от 26 марта 2025, 02:10имхо, какая-то софтина на компе или роутере перехватывает связь и ее рвет

Да не, тут никакая софтина не нужна - фсрар лежит примерно с 16.ХХ вчера и до сих пор, весь ЕГАИС и в том числе и https://check1.fsrar.ru/... Даже не пингуется.
По этому, то что карлик не может достучаться до сервера - это вполне себе закономерно.
Вопрос почему разная реакция на разных точках - у меня он типа достукивается и получает от сервера 503, а у них падает с критической ошибкой в 1С, 56.0
Все абсолютно идеинтично - ну, разьве что возможно провайдеры разные, тут я не знаю - у меня то РосТелеКом, у них без понятия.
Сегодня с утра и у меня падает в 56.0, "лафа закончилась" :-)
Может вчера у меня где-то что-то кэшировалось у провайдера, поэтому критической ошибки не было, а был возврат 503, х.з...

PS Это вылезло, потому, что тут твоя обработка используется с минимальными доработками под встройку в конфу... Я поленился запросы выносить в свой универсальный запрос карликом, в глобальнике, у меня на нем весь ЧЗ работает и часть ЕГАИСа... Там Карлик.Выполнить() завернута в попытку, и при любых отсутствиях связи критической ошибки нет, а просто из функции я сам возвращаю месагу об отсутствии связи. 

MWW_Ruza

Цитата: MWW_Ruza от 26 марта 2025, 08:41Даже не пингуется.

Не, сейчас пинговаться стало... Но, даже через браузер не работает: "Не удается получить доступ к сайту"

Была месага от ФСРАР, что проблемы с электропитанием и куча извинений :-(

MWW_Ruza

Три зависших вчера акта подтверждения ТТН, из-за которых я и полез на чек1, сегодня обработались, все ОК.
Но, чек1 как не работал, так и не работает. Видимо, не торопятся они поднимать "второстепенные" сервисы...

Djelf

А, ну тогда понятно... Можно пинговать сначала, таймаут надо подбирать, по-умолчанию он великоват.
 
Карлик.УстановитьПараметр("URL",Адрес);
Карлик.УстановитьПараметр("NOBODY",1);
Карлик.УстановитьПараметр("TIMEOUT",60);

MWW_Ruza

Не-аа...
Попробовал, все равно вылетает в критическую ошибку 1С:



При чем, это происходит "мгновенно", не задумывается ни на секунду, тем более на 60...
(или 60 здесь это миллисекунды?)


MWW_Ruza

Цитата: MWW_Ruza от 26 марта 2025, 12:16(или 60 здесь это миллисекунды?)

Пох, что-бы это не было, даже при установке 60000 все равно ошибка мгновенно, не задумывается.

Djelf

Ну... может быть если руки дойдут, в 17й версии сделаю чтобы не выпадало в ошибку.
Но это будет изменение совместности с предидущими версиями.

Djelf

Ой!!! Нет же! Это отдельный запрос типа пинга, его не надо включать в основные запросы получения данных.
Сначала проверяем им жив ли хост, а только потом делаем к нему запросы.

MWW_Ruza

А, вон оно что.
Тогда понятно.

MWW_Ruza

Сделал отдельную функцию:



Но, все равно в исключение падает...
Если закомментировать Попытку, то та-же 56.0
Если заменить адрес на например, первое что в голову пришло "ya.ru", то 200 возвращает, так, что сам запрос похоже работает...

MWW_Ruza

Чек1 ожил... Все работает, и запрос проверки доступности хоста из предыдущего сообщения тоже.
Но вопрос падения запроса при недоступности хоста в критическую ошибку, вместо возврата вменяемой ошибки(да хоть той-же 404) - остьается.
Но, тут, скорее всего ничего не поделать без этого: "Ну... может быть если руки дойдут, в 17й версии сделаю чтобы не выпадало в ошибку."
Не горит, надеюсь, рано или поздно будет.
Маякни тогда, ок?


Djelf

Да какая разница, выпадает в ошибку или нет?
Если что-то вызываемое получает ошибку при выполнении, то оно и вываливается с ошибкой, разве не так?
http ошибки, это не ошибки на уровне передачи данных и указывании параметров.
Можно все ошибки замаскировать, чтобы потытка/исключение их не видела. Но зачем?
Внезапно кто-то решит в эту область ошибок писать свои ошибки http и т.п., и как их тогда разделить?

MWW_Ruza

Понятно. Забей. У меня основные запросы и так шли через попытку, уже давно. Просто это вылезло на твоей обработке, которую ты делал 100 лет назад, и не учел это. А я поленился переделать. Переделаю как нибудь.