Size: a a a

Camunda BPM Group

2020 April 29

SD

Serg D. in Camunda BPM Group
то, что выполняется под капотом, когда вы дергаете fetchAndLock Rest
источник

В

Виталий in Camunda BPM Group
    try {
     const tasks = await engineService.fetchAndLock(requestBody);
     this.emit("poll:success", tasks);
     tasks.forEach(executeTask);
   } catch (e) {
     this.emit("poll:error", e);
   }
   setTimeout(poll, interval);
источник

В

Виталий in Camunda BPM Group
  fetchAndLock(requestBody) {
   return this.post("/external-task/fetchAndLock", {
     json: true,
     body: { ...requestBody, workerId: this.workerId }
   });
 }
источник

SD

Serg D. in Camunda BPM Group
Включите debug. Посмотрите по таймингам, когда и каким воркером таск был взят в работу, сколько раз пытались комплитить и когда.
источник

В

Виталий in Camunda BPM Group
это оф библа камунды
источник

В

Виталий in Camunda BPM Group
проблема в том что я вынужден при нагрузке выклчать логи, иначе я не могу осуществить нагрузку)
источник

В

Виталий in Camunda BPM Group
и оно бодро работает
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
Serg D.
Включите debug. Посмотрите по таймингам, когда и каким воркером таск был взят в работу, сколько раз пытались комплитить и когда.
на нагрузочном тестировании такое довольно трудно выяснить
источник

В

Виталий in Camunda BPM Group
при том если я не ддосю силььно то ошибок нет
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
Serg D.
Тут вроде как все в одну операцию. и fetch и lock
на уровне СУБД такое просто так не сделать
источник

В

Виталий in Camunda BPM Group
У постгри есть селект и апдейт в локе
источник

SD

Serg D. in Camunda BPM Group
Вот сейчас не понял. Да, логи будут замедлять Ваш сервис. Как вариант писать не в файл, а куда-нибудь в кафку, + ELK. Но это усложнит ваш проект. Да, это сложно. Но остальное это просто мысленные эксперименты и "пальцем в небо"
источник

SD

Serg D. in Camunda BPM Group
Ruslan Kadyrbaev
на уровне СУБД такое просто так не сделать
Транзакции?
источник

В

Виталий in Camunda BPM Group
То есть можно на уровне запроса к базе обеспечить разовый запрос локер
источник

В

Виталий in Camunda BPM Group
Я точно не помню да и не уверен что именно так делает ккмунда
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
поэтому и я говорю что не просто такое сделать
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
для каждой СУБД будет свой вариант
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
причем возможно например в SQL Server их будет два - для RCSI и без
источник

В

Виталий in Camunda BPM Group
Просто это механизм который зашит в ядре камунды по идее он должен работать как швейцарский нож
источник

SD

Serg D. in Camunda BPM Group
Виталий
Просто это механизм который зашит в ядре камунды по идее он должен работать как швейцарский нож
Расскажите, а по сколько тасков фетчит у вас каждый поток? Сколько тасков лежит в топике на этот момент (примерно)?
источник