Отложенный запуск процедуры #760166


#0 by ДенисЧ
Дайте идею.... Есть обмен с удалёнными программами. По принципу запрос-ответ То есть моя 1с выгружает некий файл-флаг, который различным способом добирается до получателя. Тот его читает и выдаёт ответ, который тоже различным способом добирается до меня и его нужно прочитать. Задержка может составлять от 10 секунд до 2-3х суток. Соответственно. Первое регламентное пишет файлик. И хочется, чтобы оно само назначило срок запуска второй процедуры. дайте идею, как красивей сделать подобное...
#1 by Mort
Первое задание просто включает второе. Второе повторяется пока не будет успеха, потом отрубается. Как вариант сделать чтобы второе повторялось быстро в начале и реже в конце. Т.е. первый час - каждые полминуты, после - каждые 5 минут и т.д.
#2 by Fannasankh
Первое устанавливает дату запуска в какую-то константу и включает второе. Второе выполняется с некоторой переодичностью, проверяет дату и время и выполняется если пора, потом отключается
#3 by ДенисЧ
хотелось бы минимизировать количество РЗ...
#4 by Casey1984
А зачем, ответный файл для второго задания может появится без первого файла?
#5 by ДенисЧ
может и не получиться. В первом файле говорится, что именно нужно выдать. А это в разных случаях может быть разной информацией...
#6 by Casey1984
Устанавливай программно дату запуска второго рег. задания каждый.
#7 by Casey1984
... каждый раз.
#8 by ДенисЧ
см . Так-то я и сам могу... но это некрасиво...
#9 by Casey1984
почему?
#10 by Casey1984
тут два рег задания, куда меньше то?
#11 by ДенисЧ
Потому что два - это только в примере. Их должно быть по каждому на удалённую точку....
#12 by aleks_default
если делать асинхронно, то меньше и не получится..
#13 by Casey1984
в одной базе?
#14 by Garykom
Идея использовать нечто внешнееКоторое когда уже и дернет 1сНу или не выделываться и в одной регламентной все ответы проверять
#15 by ДенисЧ
Да, в одной... А что?
#16 by mikecool
недавно проскакивало - оповещение операционной системы, толи в ветках про нет-связку с 1с но это все равно - внешняя пиналка
#17 by Casey1984
мы же можем для одного рег. задания в метаданных создать несколько экземпляров с разными ключами вроде?
#18 by Fragster
я хз, что там у тебя, но у меня был РС с "заданиями" (ссылка на справочник внешних обработок, параметрами, "исполнителем" и местом для отчета), узлы через задание лезли на вебсервис, если что-то видели для себя, делали, и запихивали результат в центр через вызов другого метода веб сервиса. такой способ применялся для формирования отчетов, запуска обработок, обмена данных в обход обычного обмена (например пользователь мог отправить любой док почти моментально (запросы шли раз в минуту) в нужный узел).
#19 by ejikbeznojek
А вторая процедура это загрузка пришедшего в неизвестный момент файлика? Если не известно когда он появится, то как первая процедура определит когда что запускать? Может быть просто загружать перед выгрузкой?
#20 by ДенисЧ
Для каждого конкретного узла известно с точностью до разрыва связи.
#21 by ejikbeznojek
Может быть какое-нибудь расписание сделать в этих узлах? А регламентное задание будет запускаться раз в 5 минут и проверять кого пора загружать?
#22 by ДенисЧ
Единственное, что можно узнать и задать - период ожидания ответа...
#23 by ejikbeznojek
А можно чтобы 1Ска в секретном файлике писала и смотрела Когда выгружала и какие узлы пора загружать.
#24 by User_Agronom
Я бы наваял одно регламентное задание, которое делало бы две вещи: 1. ваяло файл выгрузки 2. Засасывало ответы (перемещая успешно загруженные файлы ответов в другую папку) Если выгрузка вручную - то только п.2
#25 by Drac0
Веб-сервис?
#26 by Мэс33
Я бы сделал внешними средствами.
#27 by ДенисЧ
стороннюю программу, мзвните, вы тоже будете переделывать? Кто сказал, что там 1с?
#28 by Zamestas
Не оно ?
#29 by Drac0
А что сторонняя умеет? Послать запрос к Odata могет?
#30 by Zamestas
+
#31 by ДенисЧ
нет. Только сохранять файл в каталоге или на фтп.
#32 by ДенисЧ
Ну, почта ещё... Но это мы отменяем сразу.
#33 by Drac0
Почему? Хотел как раз про почту сказать :)
#34 by ДенисЧ
Почта ещё хуже, чем фтп.
#35 by User_Agronom
Чем тебе регзадание, проверяющее наличие ответа не нравится? Так многие обмены работают.
#36 by boozin
Делаешь регистр сведений что-то типа: При формировании запроса пишешь запись в регистр. Дальше регзаданием проверяешь ответы по незакрытым записям в регистре. Считал ответ - закрыл запись. Регистр можно чистить периодически(или сделать периодическим по конкретному виду запроса). Соответственно одно регзадание по всем обменам. Можно регистр усложнить...
#37 by Мэс33
Зачем переделывать? Создал бы роль, под которым запускал бы одинэсину, под которым проводились бы какие-то работы, под которым потом отправлялось бы оповещени и одинэсина бы закрывалась. Вот и все. А внешнее средство - например xStarter.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С