|
ВнешнееСобытие от ВК &НаСервере | ☑ | ||
---|---|---|---|---|
0
Garykom
гуру
17.11.15
✎
06:37
|
Эээ как получить?
Туплю что то, фишка что внешняя обработка ВК подключает. |
|||
1
Garykom
гуру
17.11.15
✎
06:45
|
(0) и правда туплю...
"В случае использования компоненты на сервере приложений внешние события не обрабатываются. Также не будут обрабатываться методы работы со строкой статуса и сохранения параметров." |
|||
2
Garykom
гуру
17.11.15
✎
07:10
|
(1) выходит асинхронность никак не сделать ((
но вот если хочется на сервере ВК запустить и чтобы она потом сама отчиталась то как? куда можно записать/сообщить то? |
|||
3
Garykom
гуру
17.11.15
✎
07:17
|
(2)+ т.е. не хочется делать периодическое/регламентное событие на сервере, которое будет ВК дергать: "уже готово?"
а чтобы как готово, то ВК вызывает это регламентное |
|||
4
ЧеловекДуши
17.11.15
✎
07:22
|
(2) А сервер разве имеет доступ к устройству на рабочем ПК?
|
|||
5
ЧеловекДуши
17.11.15
✎
07:23
|
(2) >>> записать/сообщить
v8: Можно-ли в УФ, вывести сообщение пользователю, во время проведения? Пост #15 |
|||
6
Garykom
гуру
17.11.15
✎
07:28
|
(4) нене, это не устройство на рабочем пк
а просто ВК для быстрой обработки данных (5) мне не нужно пользователю сообщить, нужно из вк серверу сообщить |
|||
7
H A D G E H O G s
17.11.15
✎
08:27
|
(0) Никак. Контекст выполнения же в это время будет на клиенте. Ты максимум можешь отправить сообщение с сервера клиентам и один из них решит, что ему стоит обработать это сообщение. Для этого ты должен поднять на каждом клиенте udp сервер, ловить свободный порт из диапазона (клиентов на одном пк может быть несколько) вести список клиентов на сервере. Короче, ты поймешь почему 1с не сделала вызов клиента с сервера. А потом ты еще напоришься на http протокол.
|
|||
8
H A D G E H O G s
17.11.15
✎
08:28
|
Я все это прошел за 1,5 месяца послеработы.
|
|||
9
Garykom
гуру
17.11.15
✎
08:48
|
(7) (8) понял... ВК на сервере есть пока процедура/функция работает, потом тютю
даже если запустить из ВК нечто другое (оставить ее работать после возврата выполнения на клиент) то это нечто другое уже совершенно посторонне по отношению к 1С остается только вариант фоновых/регламентных заданий, причем с флажком в базе но это уже не сделать внешней обработкой |
|||
10
Garykom
гуру
17.11.15
✎
08:50
|
хотя что я торможу то ))
нужно просто две ВК, которые и будут между собой общаться одна на сервере, другая парная на клиенте если серверная отработала, она сказала клиентской и та уже делает что нужно а если клиентская уже закрылась, то значит уже все, ничего не нужно и серверная зря работала )) |
|||
11
H A D G E H O G s
17.11.15
✎
08:51
|
"К на сервере есть пока процедура/функция работает, потом тютю "
Нет, неправильно понял. |
|||
12
Garykom
гуру
17.11.15
✎
08:52
|
(10) + да выходит вариант из (7) со своими сетевым обменом ((
|
|||
13
Garykom
гуру
17.11.15
✎
08:52
|
(11) эээ?
глобальные переменные на сервере между разными вызовами? |
|||
14
H A D G E H O G s
17.11.15
✎
08:54
|
ВК на сервере есть до 20 минут.
Поток, сгенерированный этой ВК может жить бесконечно:-) |
|||
15
H A D G E H O G s
17.11.15
✎
08:57
|
Ну а ВНешнееСобытие.
Клиент вызвал сервер. Сервер 1С запустил под него отдельный поток обработки (процедура &НаСервере). В процессе работы была создана ВК, которая запустила свой отдельный поток, который чето ждет. Корневой поток (процедура &НаСервере). Поток ВК вызывает ievent.externalevent() Что делать серверу 1С? |
|||
16
Garykom
гуру
17.11.15
✎
08:57
|
(14) да но можно ли после этого в течении этих 20 минут к ней заново обратиться?
|
|||
17
H A D G E H O G s
17.11.15
✎
08:58
|
Корневой поток (процедура &НаСервере)->
Корневой поток (процедура &НаСервере) завершился. |
|||
18
Garykom
гуру
17.11.15
✎
08:59
|
(17) да я понял... хз что делать но по идее надо было общую ВнешнееСобытие для режима &НаСервере в глобальном модуле
|
|||
19
Garykom
гуру
17.11.15
✎
09:00
|
(18)+ но выполнятся этот вызов тогда должен в этом потоке ВК висящей
и ограничение еще более дикие чем насерверебезконтекста |
|||
20
H A D G E H O G s
17.11.15
✎
09:00
|
(16) Зачем? Создай новый :-)
Ну вообщето ОбъектCOM поместить в СТруктуру, структуру поместить во ВременноеХранилище, вернуть адрес на клиент. Потом с этим адресом на сервер приходишь и берешь свой невредимый COM |
|||
21
H A D G E H O G s
17.11.15
✎
09:01
|
(18) Нет, ты не понял.
|
|||
22
H A D G E H O G s
17.11.15
✎
09:02
|
(18) Самая простая проблема - под каким пользователем это выполняться. Самая простая.
|
|||
23
Garykom
гуру
17.11.15
✎
09:02
|
(20) ну да только так
(21) возможно |
|||
24
Garykom
гуру
17.11.15
✎
09:07
|
(21) эээ ВК должна вместо завершившегося потока, переключиться на специальный поток сервера? хз что то я
|
|||
25
H A D G E H O G s
17.11.15
✎
09:10
|
(24) Под каким пользователем он должен выполняться?
|
|||
26
Garykom
гуру
17.11.15
✎
09:14
|
(25) ну (22)
примерно под тем же что и регламентные но фактически как разделять тогда какой пользователь 1С запустил ВК? в механизм ВК нужно это добавлять |
|||
27
Garykom
гуру
17.11.15
✎
09:14
|
(26)+ изначально запустил ВК
|
|||
28
H A D G E H O G s
17.11.15
✎
09:28
|
(26) Начнем с того, что официальная позиция 1С - ВК должен умереть после серверного вызова, так как следующий серверный вызов от данного пользователя может быть обработан другим процессом сервера 1С и даже на другом физическом сервере. На этом и закончим.
|
|||
29
Garykom
гуру
17.11.15
✎
09:30
|
(28) да согласен, просто эту официальную позицию им хорошо бы было в методичку по ВК засунуть
|
|||
30
mingw
18.11.15
✎
06:46
|
решать проблему через вебсервисы
|
|||
31
Serginio1
18.11.15
✎
08:14
|
Делаешь метод с циклом на 1С котрорый будет запускать ВК. В ВК должен быть метод где будет ожидание мьтекса монитора. При возникновении события сетод будет возвращать данные. Нужно предусмотреть и завершение работы
|
|||
32
Serginio1
18.11.15
✎
08:16
|
И запускаешь этот метод в регламентном задании
|
|||
33
Serginio1
18.11.15
✎
08:18
|
Но это эффективно при частых возникновениях событий. А так либо клиент, либо сторонняя программа общающаяся через Вэб сервис
|
|||
34
Garykom
гуру
18.11.15
✎
11:06
|
(33) да веб сервис в данном случае будет оптимальнее
просто файлик закинул или 2 файлика и все получил ссылку по которой можно проверять готовность как готово качаешь результат |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |