Size: a a a

Camunda BPM Group

2020 November 13

IK

Isayakiy Kotletov in Camunda BPM Group
Serg D.
А смысл? Если у вас значения константные, зачем делать двойную работу и лишний раз дёргать базу?
Потому что мне нужно гарантировать что джоб в очередь отправил а не забрал таску на 7 дней и не донес
источник

SD

Serg D. in Camunda BPM Group
А очередь транзакционная?
источник

IK

Isayakiy Kotletov in Camunda BPM Group
Serg D.
А очередь транзакционная?
нет, считай там кафка. то но сообщения идемпотентные будут
источник

IK

Isayakiy Kotletov in Camunda BPM Group
то есть я понимаю что туда может 2 раза улететь, но будем считать что второе пропустит получатель
источник

SD

Serg D. in Camunda BPM Group
Isayakiy Kotletov
то есть я понимаю что туда может 2 раза улететь, но будем считать что второе пропустит получатель
А в кафку синхронно пишите?
источник

IK

Isayakiy Kotletov in Camunda BPM Group
Serg D.
А в кафку синхронно пишите?
смотри, это пример кода на уровне "паттерн" считай что метод вызваный q гарантировано положит в очередь синхронно
источник

SD

Serg D. in Camunda BPM Group
👍 Пробуйте
источник

IK

Isayakiy Kotletov in Camunda BPM Group
это не продакшн код, это я локально размышляю
источник

SD

Serg D. in Camunda BPM Group
Isayakiy Kotletov
это не продакшн код, это я локально размышляю
Ну смотри, если вызов там синхронный, то ты точно будешь знать положено сообщение или нет, и если не положено, то можешь снять лок. При нормальной эксплуатации это потребует меньше дергать базу. Я тоже размышляю и не претендую на истину в последней инстанции )))
источник

IK

Isayakiy Kotletov in Camunda BPM Group
то есть я не против альтернативных вариантов) но че то мне пока никто не отвечает как борется с dual-write
источник

SD

Serg D. in Camunda BPM Group
Isayakiy Kotletov
то есть я не против альтернативных вариантов) но че то мне пока никто не отвечает как борется с dual-write
Не писать в кафку? )))
источник

IK

Isayakiy Kotletov in Camunda BPM Group
Serg D.
Ну смотри, если вызов там синхронный, то ты точно будешь знать положено сообщение или нет, и если не положено, то можешь снять лок. При нормальной эксплуатации это потребует меньше дергать базу. Я тоже размышляю и не претендую на истину в последней инстанции )))
не, это ты говоришь если очередь ошиблась, а если свет вырубили не сможешь откатить
источник

IK

Isayakiy Kotletov in Camunda BPM Group
Serg D.
Не писать в кафку? )))
ну ок, пускай там не кафка а БД)
источник

i

ilmar in Camunda BPM Group
Isayakiy Kotletov
не, это ты говоришь если очередь ошиблась, а если свет вырубили не сможешь откатить
+
источник

SD

Serg D. in Camunda BPM Group
Isayakiy Kotletov
не, это ты говоришь если очередь ошиблась, а если свет вырубили не сможешь откатить
Нужно посмотреть как в этом случае отработает транзакция. Я не помню точно где она закроется. Я сейчас про транзакцию в которой выполняется чтение тасков и первоначальный лок.
источник

IK

Isayakiy Kotletov in Camunda BPM Group
Serg D.
Нужно посмотреть как в этом случае отработает транзакция. Я не помню точно где она закроется. Я сейчас про транзакцию в которой выполняется чтение тасков и первоначальный лок.
после взятия лока на 3 секунды - все, камунда закоммитила что это залочено
источник

SD

Serg D. in Camunda BPM Group
Ну тогда выглядит оправдано. 👍
источник

IK

Isayakiy Kotletov in Camunda BPM Group
спс) а так же жду еще мнений
источник

SD

Serg D. in Camunda BPM Group
источник

SD

Serg D. in Camunda BPM Group
Вы только учтите, что там не в лоб задача решается. Вам нужно где-то сохранить объект deffered result после запуска процесса, а когда процесс завершится заинжектить в него получившийся результат.
источник