Можливості в Camunda Cloud для оптимізації робочого процесу і виконання конкретних завдань

Camunda розмістили в своєму блозі статтю, де розповідається про те, як зробити так, щоб робочий процес виконував конкретні задачі, використовуючи один з перевірених способів.

У Camunda Cloud є можливість використовувати програму Zeebe. Вона працює з робочою системою PubSub. З її допомогою ви можете виконувати конкретні задачі. Для цього потрібно зареєструватися у програмі Zeebe. Працювати в середовищі можна на будь-якій мові програмування — для деяких з них є бібліотеки, що спрощують інтеграцію.

У статті розглянуто три способи оптимізації робочого процесу для виконання конкретних завдань за допомогою використання Random Number, Increase Number і Webhook.site.

1. Random Number

У першому прикладі Worker визначає випадкове число і повертає це число в запущений екземпляр. Воно записується в контекст процесу, і в наступному шлюзі буде перевірятися. Воно не повинно бути більше п’ятірки. 

Можуть бути запущені три дії:

  1. deploy: розгортання діаграми BPMN у своєму кластері.
  2. start: запуск нового примірника діаграми BPMN.
  3. worker: виконавець реєструється в вашому кластері на кілька секунд і виконує код.

Виконайте перші два кроки і перейдіть в режим «Operate». За допомогою Operate ви можете побачити всі розгорнуті діаграми BPMN і як завершені, так і запущені екземпляри.

Отже, після другого кроку новий екземпляр запущено і він знаходиться на стадії очікування у вузлі Random Number. Процес не триває, тому що спочатку потрібно виконати відповідне завдання. Якщо ви тепер дозволите робочому елементу працювати, ви помітите, що він пропрацює ще деякий час і завершить роботу самостійно. Тип завдання налаштовується в атрибутах службового завдання у діаграмі BPMN. Те ж саме і зі шлюзом. В цьому випадку ми хочемо прив’язати умову до змінної в контексті процесу, яка була встановлена.
Приклад візуалізації налаштування завдання в BPMN і двох вихідних шляхів шлюзу можна подивитися на сайті Camunda.

2.  Increase Number

Другий приклад являє собою простий цикл. Worker влаштований так само, як і в першому прикладі. Основна відмінність полягає в тому, що в якості вхідних даних використовується значення з контексту процесу. Це значення збільшується при кожному виконанні. Також можна побачити, що критерій переривання не є частиною реалізації Worker. Виконавець повинен повністю зосередитися на своїй складній задачі.

3. Webhook.site

Цей приклад показує реальний варіант використання за допомогою виконання HTTP-запиту. Щоб побачити це використовуйте Webhook.site. Так, ви отримуєте окрему кінцеву точку HTTP, яку можете використовувати в прикладі. Якщо запит відправлений в службу, ви побачите новий запис на панелі інструментів.
Щоб цей приклад спрацював з вашим індивідуальним Webhook.site, необхідно встановити відповідний ідентифікатор Webhook. Під дією запуску ви знайдете поле введення, в якому ви можете ввести свій ідентифікатор або індивідуальну URL-адресу веб-перехоплювача. А Restzeebe якраз видаляє ідентифікатор з URL-адреси.

Axios використовується для виконання HTTP-запиту. Worker розроблений таким чином, що ви можете самостійно налаштувати метод HTTP. Для цього необхідно завантажити діаграму BPMN, перейти до параметрів заголовка службових завдань і встановити інший метод. Якщо у вас вже є екосистема мікросервісів і служби взаємодіють через REST, то це вже маленький крок для оркестрування мікросервісів за допомогою механізму робочого процесу.

 

З повною версією статті ви можете ознайомитися за посиланням.

 

Вам може сподобатись
Рубрика: світ IT
Популярні
×
Оставьте свой номер и мы вам перезвоним