Вызов WebRequest в OnDeinit - страница 2

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MetaQuotes
Админ
28098
Renat Fatkhullin  
Проверим вебреквест в деините
Павел Раввич
254
Павел Раввич  
Renat Fatkhullin:
Проверим вебреквест в деините

До последнего обновления к стати это вроде работало. Я хотел переиспользовать старый код но он не завелся.

MetaQuotes
Админ
28098
Renat Fatkhullin  

В билде 2563 исправили запрет использования WebRequest в InDeinit.

Обновитесь на бету и попробуйте снова, пожалуйста.

Andrei Trukhanovich
20884
Andrei Trukhanovich  

так а смысл? heartbeat самый надежный способ без вариантов, он учитывает в том числе аварийные завершения терминала и ОС, отключения интернета и другие не настолько явные проблемы.

единственный нюанс - по-хорошему он должен быть асинхронным

Павел Раввич
254
Павел Раввич  
Andrei Trukhanovich:

так а смысл? heartbeat самый надежный способ без вариантов, он учитывает в том числе аварийные завершения терминала и ОС, отключения интернета и другие не настолько явные проблемы.

единственный нюанс - по-хорошему он должен быть асинхронным

Да согласен как и все запросы к серверу но тут без dll никак.

К стати может есть готовые dll мосты для python под это дело? Не слышали о таком?

Andrei Trukhanovich
20884
Andrei Trukhanovich  
Павел Раввич:

Да согласен как и все запросы к серверу но тут без dll никак.

ну почему никак?

Обсуждение статьи "Многопоточный асинхронный WebRequest на MQL5 своими руками"
Обсуждение статьи "Многопоточный асинхронный WebRequest на MQL5 своими руками"
  • 2018.11.08
  • www.mql5.com
Опубликована статья Многопоточный асинхронный WebRequest на MQL5 своими руками: Автор: Stanislav Korotky...
Павел Раввич
254
Павел Раввич  
Renat Fatkhullin:

В билде 2563 исправили запрет использования WebRequest в InDeinit.

Обновитесь на бету и попробуйте снова, пожалуйста.

Да WebRequest снова отрабатывает верно внутри OnDeinit.

Большое спасибо за оперативный фикс. 

Документация по MQL5: Сетевые функции / WebRequest
Документация по MQL5: Сетевые функции / WebRequest
  • www.mql5.com
Для использования функции WebRequest() следует добавить адреса серверов в список разрешенных URL во вкладке "Советники" окна "Настройки". Порт сервера выбирается автоматически на основе указанного протокола - 80 для "http://" и 443 для "https://". Функция WebRequest() является синхронной, это означает, что она приостанавливает выполнение...
Павел Раввич
254
Павел Раввич  
Andrei Trukhanovich:

ну почему никак?

О, большое спасибо, внимательно прочту.


А по поводу конкуренции heardbeat и OnDeinit одно другому не мешает, в конце концов смена статуса идемпотентная операция.

На случай зависания heardbeat самое то, можно еще уведомление в очередь кинуть о том что все зависло. А для OnDeinit оставить штатную остановку.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий