|
Как отправить запрос HTTP без ожидания ответа
| ☑ |
0
SRM1C
18.05.18
✎
17:25
|
Вечер добрый!
Собственно, как отправить запрос, а затем идти дальше, не ждать ответ?
Соединение = Новый HTTPСоединение(СтрокаЗапроса);
ФайлTXT = ПолучитьИмяВременногоФайла("txt");
Соединение.ОтправитьДляОбработки("", ФайлTXT);
|
|
1
Юрий Лазаренко
18.05.18
✎
17:27
|
(0) На "той стороне" получай данные, проверяй на валидность и сразу возвращай ответ, что, мол, все нормально, инструкции получены и приняты к обработке. А потом данные обрабатывай в фоне.
|
|
2
cons74
18.05.18
✎
17:28
|
(0) помести свой код в фоновое
|
|
3
Юрий Лазаренко
18.05.18
✎
17:29
|
Ну или если нет возможности повлиять на "ту сторону", то запускай функцию, которая отправляет запрос, в фоне. То есть, функцию в фоне запустил и или дальше. Функция запрос отправила и ждет результата. Дождалась - сделала с результатом что надо. А ты в удобное время за этим результатом зайдешь.
|
|
4
SRM1C
18.05.18
✎
17:29
|
(1) Суть такая, что запрос отправился, дальше мне не интересно, что там будет в ответе, сам запрос по результату зайдет в мой web-сервис, где обработается как надо, а здесь меня интересует только отправка запроса.
|
|
5
Юрий Лазаренко
18.05.18
✎
18:23
|
(4) Тогда вариант (3): запускай запрос в фоновой процедуре, она все что надо отправит и сколь угодно долго сможет ждать ответа от сервера (ну или отвалится по таймауту, если не дождется), не влияя на работу алгоритма, который эту процедуру запустил.
|
|
6
Redkiy
18.05.18
✎
19:28
|
(4) А как ты узнаешь, что запрос вообще дошел до адресата?
200 по любому нужно получить в ответ. Даже без обработки, как гарантия что "посылка получена".
|
|
7
Cyberhawk
18.05.18
✎
20:14
|
(6) Можно на стороне БД отправителя запроса логировать исходящие запросы. На стороне БД получателя логировать входящие запросы. Далее сопоставлять на любой стороне (лазая в другую БД), что было отправлено и что было принято.
|
|
8
Сияющий в темноте
18.05.18
✎
22:28
|
В любой системе это называется асинхронные запросы.
если под виндой,то можно прикрутить ServerXmlHttpRequest,он так умеет и вызывает событие.
Насколько я помню,1с умеет обрабатывать события от COM-серверов.
|
|