|
Как асинхронный результат превратить в синхронный в тонком клиенте? | ☑ | ||
---|---|---|---|---|
0
DES
18.02.23
✎
23:46
|
Задача:
проверить доступность сервера и по результату выполнить действие Сервер проверяется отсылкой ему тестового вопроса, если ответил - хорошо, если нет то запустить сервер и повторить проверку. Так как дождаться ответа если запрос можно делать только асинхронной функцией? Как-то опрашивать глобальную переменнную ? |
|||
1
p-soft
19.02.23
✎
03:01
|
тк не указано, какими средствами реализуются проверки, то ответ один - пользуйтесть чтением/записью данных в таблицы БД, они все стерпят. в общем случае, без разницы, с помощью чего реализуете доступ к общей памяти двух разных потоков)
|
|||
2
eddy_n
19.02.23
✎
08:35
|
ПриНачалеРаботыСистемы() в модуле приложения ловить пул соединений через ПолучитьСоединенияИнформационнойБазы(). Если нужное соединение, допустим с именем приложения 1CV8C присутствует, то всё норм?
|
|||
3
DES
19.02.23
✎
09:53
|
(2) Да не о том.
Тонкий клиент проверяет другой вебсервер, а не свой. Как проверять общую память? запустить цикл проверки пдительностью 5-10 сек.? |
|||
4
asady
19.02.23
✎
10:44
|
(3) что-то ты намудрил с описанием
ты хочешь привязать сеанс клиента к определенному сеансу сервера? |
|||
5
DES
19.02.23
✎
11:21
|
(4) тема не привязке чего то к чему то.
тема как ждать ответа от асинх процедуры чтобы проанализировать ее ответ? |
|||
6
Смотрящий
19.02.23
✎
11:27
|
Пока ж чем проверяешь доступность сервера
|
|||
7
asady
19.02.23
✎
11:28
|
(5) тогда тебе вероятно это поможет:
https://infostart.ru/public/326713/ |
|||
8
DES
19.02.23
✎
11:44
|
(6) пока это делается вручную, а хочу автоматизировать.
|
|||
9
1snik_d
19.02.23
✎
11:45
|
Ну на то она и асинхронная, чтобы ответ получать отдельным методом. А то, что описано тут - это в чистом виде синхронный запрос с ожиданием ответа
|
|||
10
DES
19.02.23
✎
11:46
|
(7) да эти примеры изучены. все проверено и работает.
тема как применить асинх вызов нет, тему как дождаться ответа и продолжить по результату - не нахожу |
|||
11
DES
19.02.23
✎
11:47
|
(9) в тонком клиенте синхрон нельзя же использовать?
|
|||
12
1snik_d
19.02.23
✎
11:48
|
(11) Плавание в терминологии, причем тут вид клиента
|
|||
13
1snik_d
19.02.23
✎
11:51
|
В общих чертах асинхронность работает так:
1. Мы отправляем некий запрос и все, ничего не ждем. Сервер, которому отправили запрос, выполняет некие алгоритмы, и подготавливает ответ. 2. Через некоторое время отправляем новый запрос на получение результатов выполнения. 3. Если результат есть, то отправляем третий запрос на получение самого результата. |
|||
14
1snik_d
19.02.23
✎
11:53
|
Пункт 2 можно в некоторых случаях исключить
|
|||
15
1snik_d
19.02.23
✎
11:54
|
Под асинхронностью в 1С обычно имеют ввиду работу форм на клиенте, но это просто частный случай.
|
|||
16
1snik_d
19.02.23
✎
11:57
|
И вообще в рамках этой задачи нафиг не нужен асинхронный вызов, если проверяемый сервер лежит, то какой ответ он может сформировать? Просто проверять результат запроса, если там 404, то значит лежит. Как-то так.
|
|||
17
DES
19.02.23
✎
12:55
|
(16) чтобы проверить сервер на локалной машине нужно использовать или веб или тонкий клиент, а в них синхрон невозможен.
|
|||
18
DES
19.02.23
✎
12:57
|
(16) + вебсервер работает на локальной машине, его готовность нужно проверить из серверной 1с8 . Как?
|
|||
19
DES
19.02.23
✎
13:01
|
Задача такая: взять данные у сервера 1с8.21.хххх обработать на сайте локальной (сервер локальный) машины и вернуть данные на сервер 1с8.22
|
|||
20
DES
19.02.23
✎
13:06
|
можно зацикливаться на опросе результата всей транзакции, но сколько ждать, ведь это работа по интернет-сети, могут быть обрывы связи , медленная скорость и т.д. Повторять действие? или еще 1 сек подождать?
|
|||
21
Смотрящий
19.02.23
✎
13:17
|
Какой сервер будет инициировать запрос .21 или .22 ?
|
|||
22
DES
19.02.23
✎
15:22
|
(21) тут без разницы
вопрос про локальный сервер |
|||
23
ДедМорроз
19.02.23
✎
20:07
|
Начнем с того,что в web-клиенте делать http-запрос нельзя.
Можно только в тонком клиенте. И,насколько я помню, асинхронный запрос завезли только в 21-ой платформе. Во всех ниже он синхронный. У асинхронного есть так называемое обещание,которое можно завернуть в обработку оповещения. Или что мы хотим ? |
|||
24
DES
19.02.23
✎
21:33
|
(23) Да все это происходит (можно делать) в процедуре которая помечается Асинх()
Как результаты этой процедуры поймать? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |