|
Отложенный запуск процедуры | ☑ | ||
---|---|---|---|---|
0
ДенисЧ
07.12.15
✎
16:31
|
Дайте идею....
Есть обмен с удалёнными программами. По принципу запрос-ответ То есть моя 1с выгружает некий файл-флаг, который различным способом добирается до получателя. Тот его читает и выдаёт ответ, который тоже различным способом добирается до меня и его нужно прочитать. Задержка может составлять от 10 секунд до 2-3х суток. Соответственно. Первое регламентное пишет файлик. И хочется, чтобы оно само назначило срок запуска второй процедуры. дайте идею, как красивей сделать подобное... |
|||
1
Mort
07.12.15
✎
16:37
|
Первое задание просто включает второе. Второе повторяется пока не будет успеха, потом отрубается.
Как вариант сделать чтобы второе повторялось быстро в начале и реже в конце. Т.е. первый час - каждые полминуты, после - каждые 5 минут и т.д. |
|||
2
Fannasankh
07.12.15
✎
16:38
|
Первое устанавливает дату запуска в какую-то константу и включает второе. Второе выполняется с некоторой переодичностью, проверяет дату и время и выполняется если пора, потом отключается
|
|||
3
ДенисЧ
07.12.15
✎
16:38
|
хотелось бы минимизировать количество РЗ...
|
|||
4
Casey1984
07.12.15
✎
16:39
|
(0) А зачем, ответный файл для второго задания может появится без первого файла?
|
|||
5
ДенисЧ
07.12.15
✎
16:41
|
(4) может и не получиться.
В первом файле говорится, что именно нужно выдать. А это в разных случаях может быть разной информацией... |
|||
6
Casey1984
07.12.15
✎
16:42
|
(5)(3)(0) Устанавливай программно дату запуска второго рег. задания каждый.
|
|||
7
Casey1984
07.12.15
✎
16:42
|
(6) ... каждый раз.
|
|||
8
ДенисЧ
07.12.15
✎
16:42
|
(7) см (3).
Так-то я и сам могу... но это некрасиво... |
|||
9
Casey1984
07.12.15
✎
16:43
|
(8) почему?
|
|||
10
Casey1984
07.12.15
✎
16:45
|
(8) тут два рег задания, куда меньше то?
|
|||
11
ДенисЧ
07.12.15
✎
16:48
|
(10) Потому что два - это только в примере. Их должно быть по каждому на удалённую точку....
|
|||
12
aleks_default
07.12.15
✎
16:50
|
(11)если делать асинхронно, то меньше и не получится..
|
|||
13
Casey1984
07.12.15
✎
16:51
|
(11) в одной базе?
|
|||
14
Garykom
гуру
07.12.15
✎
16:55
|
(0) Идея использовать нечто внешнее
Которое когда уже и дернет 1с Ну или не выделываться и в одной регламентной все ответы проверять |
|||
15
ДенисЧ
07.12.15
✎
16:58
|
(13) Да, в одной... А что?
|
|||
16
mikecool
07.12.15
✎
16:58
|
недавно проскакивало - оповещение операционной системы, толи в ветках про нет-связку с 1с
но это все равно - внешняя пиналка |
|||
17
Casey1984
07.12.15
✎
16:59
|
(15) мы же можем для одного рег. задания в метаданных создать несколько экземпляров с разными ключами вроде?
|
|||
18
Fragster
гуру
07.12.15
✎
17:00
|
я хз, что там у тебя, но у меня был РС с "заданиями" (ссылка на справочник внешних обработок, параметрами, "исполнителем" и местом для отчета), узлы через задание лезли на вебсервис, если что-то видели для себя, делали, и запихивали результат в центр через вызов другого метода веб сервиса.
такой способ применялся для формирования отчетов, запуска обработок, обмена данных в обход обычного обмена (например пользователь мог отправить любой док почти моментально (запросы шли раз в минуту) в нужный узел). |
|||
19
ejikbeznojek
07.12.15
✎
17:06
|
(0)
А вторая процедура это загрузка пришедшего в неизвестный момент файлика? Если не известно когда он появится, то как первая процедура определит когда что запускать? Может быть просто загружать перед выгрузкой? |
|||
20
ДенисЧ
07.12.15
✎
17:07
|
(19) Для каждого конкретного узла известно с точностью до разрыва связи.
|
|||
21
ejikbeznojek
07.12.15
✎
17:13
|
Может быть какое-нибудь расписание сделать в этих узлах?
А регламентное задание будет запускаться раз в 5 минут и проверять кого пора загружать? |
|||
22
ДенисЧ
07.12.15
✎
17:14
|
(21) Единственное, что можно узнать и задать - период ожидания ответа...
|
|||
23
ejikbeznojek
07.12.15
✎
17:17
|
А можно чтобы 1Ска в секретном файлике писала и смотрела
Когда выгружала и какие узлы пора загружать. |
|||
24
User_Agronom
07.12.15
✎
17:57
|
Я бы наваял одно регламентное задание, которое делало бы две вещи:
1. ваяло файл выгрузки 2. Засасывало ответы (перемещая успешно загруженные файлы ответов в другую папку) Если выгрузка вручную - то только п.2 |
|||
25
Drac0
07.12.15
✎
19:55
|
(0) Веб-сервис?
|
|||
26
Мэс33
07.12.15
✎
20:05
|
Я бы сделал внешними средствами.
|
|||
27
ДенисЧ
07.12.15
✎
20:20
|
(26) (25) стороннюю программу, мзвните, вы тоже будете переделывать? Кто сказал, что там 1с?
|
|||
28
Zamestas
07.12.15
✎
20:29
|
||||
29
Drac0
07.12.15
✎
20:30
|
(27) А что сторонняя умеет? Послать запрос к Odata могет?
|
|||
30
Zamestas
07.12.15
✎
20:31
|
||||
31
ДенисЧ
07.12.15
✎
20:48
|
(29) нет. Только сохранять файл в каталоге или на фтп.
|
|||
32
ДенисЧ
07.12.15
✎
20:48
|
Ну, почта ещё... Но это мы отменяем сразу.
|
|||
33
Drac0
07.12.15
✎
21:20
|
(32) Почему? Хотел как раз про почту сказать :)
|
|||
34
ДенисЧ
07.12.15
✎
21:21
|
(33) Почта ещё хуже, чем фтп.
|
|||
35
User_Agronom
07.12.15
✎
21:34
|
(34) Чем тебе регзадание, проверяющее наличие ответа не нравится?
Так многие обмены работают. |
|||
36
boozin
07.12.15
✎
22:40
|
Делаешь регистр сведений что-то типа:
Измерения: ЗапросНаПолучениеДанных Ресурсы: Ответ, ОтветЗагружен(Булево). При формировании запроса пишешь запись в регистр. Дальше регзаданием проверяешь ответы по незакрытым записям в регистре. Считал ответ - закрыл запись. Регистр можно чистить периодически(или сделать периодическим по конкретному виду запроса). Соответственно одно регзадание по всем обменам. Можно регистр усложнить... |
|||
37
Мэс33
08.12.15
✎
06:14
|
(27) Зачем переделывать?
Создал бы роль, под которым запускал бы одинэсину, под которым проводились бы какие-то работы, под которым потом отправлялось бы оповещени и одинэсина бы закрывалась. Вот и все. А внешнее средство - например xStarter. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |