|
Запуск фонового задания при записи документа | ☑ | ||
---|---|---|---|---|
0
ДНН
18.11.20
✎
15:39
|
Какие могут быть проблемы, если запускать фоновое задание при записи документа? При записи документа нужно отправить http запрос, чтобы не выполнять это в транзакции записи вынес в фоновое задание. Есть ли смысл делать через промежуточную запись в регистр сведений, а потом регламентным заданием перебирать регистр? Запрос нужно отправить как можно быстрее.
|
|||
1
zippygrill
18.11.20
✎
15:47
|
план обмена не предлагать?
|
|||
2
ДНН
18.11.20
✎
15:49
|
(1) вопрос не выборе регистр сведений или план обмена, а в выборе отправлять http запрос сразу из обработчика ПриЗаписи через ФоновыеЗадания.Выполнить() или через промежуточную запись (хоть в регистр, хоть в план обмена)
|
|||
3
sergey yevsenya
18.11.20
✎
15:51
|
через запись. хз какая там ошибка произойдет при отправке
|
|||
4
zippygrill
18.11.20
✎
15:51
|
ну в принципе если это в фоне будет происходить, то мне кажется норм. Пользователь этого не заметит.
|
|||
5
ДНН
18.11.20
✎
15:52
|
(3) ошибка не должна повлиять на запись, отправка запроса в любом случае в фоновом задании будет
|
|||
6
H A D G E H O G s
18.11.20
✎
15:53
|
Норм, чебынет.
Вся типовая кишит эти мдацкими фоновыми и норм. |
|||
7
ДенисЧ
18.11.20
✎
15:53
|
Отправляй через фоновое.
В приЗаписи вообще что-то, связанное с внешними ресурсами - канделяброопасно |
|||
8
H A D G E H O G s
18.11.20
✎
15:54
|
Сделай только
Если ОбщегоНазначенияИлиКактотам.РежимОтладки() Тогда Выполнитьнефоново() Иначе Фоново(); КонецЕсли; молодая поросль тебе спасибо скажет |
|||
9
sergey yevsenya
18.11.20
✎
15:54
|
(5) на запись не повлияет, но в случае ошибки ты не сможешь повторить отправку и вообще отследить, что была ошибка
|
|||
10
ДенисЧ
18.11.20
✎
16:02
|
(8) Извращенец... ДлительныеОперации.ВыполнитьПроцедуру() и всё.
|
|||
11
mistеr
18.11.20
✎
16:16
|
(0) Все зависит от конкретного значения "как можно быстрее". Если прям пипец как нужно, и терять эти сообшения нельзя, то поднять рядом прокси с очередью.
|
|||
12
Armando
19.11.20
✎
00:24
|
||||
13
Cyberhawk
19.11.20
✎
00:35
|
"нужно отправить как можно быстрее" // Если гарантия выполнения не нужна, то пожалуйста.
Иначе - через запись в регистр-очередь или регистрацию на узле (внутри транзакции). |
|||
14
Cthulhu
19.11.20
✎
00:41
|
Решал аналогичную задачу для бесшовной интеграции упп с до. при записи документа надо было отправлять в до через евонный веб-сервис (в зависимости от установленных значений спец.реквизитов) либо создание нового внутр.документа, либо поиск бизнес-процесса для уже созданного внутр.документа и выполнение в не каких-то задач. тоже без помещения в транзакцию - т.к. выполняется не так быстро, результат возможен и неудачный - тогда повторить просто, и т.п.
решал через запись очереди в независимый регистр сведений (с документом в измерении). в документе при надобе проверяется наличие задания по этому документу в очереди, его предварительное стирание при надобе, и т.д. ну и регламентное задание с фоновым процессом который лопатит очередь и загоняет в до через евонный веб-сервис - синхронно, и если успех - то стирает очередную запись из рс, если ошибка - пишет в эту запись рс в реквизит (который можно при надобе диагностировать - в самом документе так и делается)... взлетело, работает, все довольны. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |