camunda-adapter
Пакет предоставляет адаптер к платформе Camunda для приложений на Python.
Установка
$ pip install camunda-adapter
Подключение и настройка
См. тестовое приложение src/testapp.
apps.py:
Инстанцируется Config с параметрами конфигурации, затем инстанцируется Adapter.
При необходимости работы с внешними задачами, регистрируются обработчики задач путем подписки на соответствующие топики задач.
from django.apps import AppConfig as AppConfigBase
from camunda_adapter.adapters import Adapter
from camunda_adapter.config import Config
class AppConfig(AppConfigBase):
name = __package__
def ready(self):
self._setup_bpmn()
def _setup_bpmn(self):
from testapp import core
from . import services
core.config = Config()
core.adapter = Adapter(core.config)
for topic, handler in (
(services.topic1, services.topic_handler1),
(services.topic2, services.topic_handler2),
(services.topicN, services.topic_handlerN),
):
core.adapter.register_topic_handler(topic, handler)
services.py:
from camunda_adapter.domain import model as camunda
topic1 = camunda.Topic(name='topic-1')
def topic_handler1(task: camunda.ExternalTask, adapter: Adapter):
...
topic2 = camunda.Topic(name='topic-2')
def topic_handler2(task: camunda.ExternalTask, adapter: Adapter):
...
topicN = camunda.Topic(name='topic-N')
def topic_handlerN(task: camunda.ExternalTask, adapter: Adapter):
...
Примеры непосредственного обращения к адаптеру:
Отправка сообщения:
message = model.Message(
messageName='DeclarationReceived',
businessKey=f'attestation-declaration-{declaration.id}',
processVariables={
name: model.Variable(value=value)
for name, value in declaration.dict(include={'id'}).items()
}
)
message_results: List[model.MessageResult] = list(adapter.message(message))
Получение списка доступных задач:
adapter.get_external_tasks(definition=definition)
Выполнение доступных задач:
adapter.process_external_tasks()
Работа над пакетом
Подготовка среды разработки
Необходимый набор инструментов:
tox— оркестрация окружений и запуск командtox-uv— для управления окружениями в toxtox-docker— для запуска инфраструктурных сервисов, необходимых в тестах.
Быстрый старт
- Установите необходимые инструменты:
uv tool install tox --with tox-uv --with tox-docker
- Клонируйте репозиторий и перейдите в директорию проекта:
git clone ssh://git@stash.bars-open.ru:7999/edueo/librbac.git
cd librbac
- Запустите тесты и проверки:
tox
Проверка качества и форматирование кода
tox -e lint
Metadata
Release files for camunda-adapter 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| camunda_adapter-2.0.0.tar.gz | 29.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| camunda_adapter-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.5 kB
Release files / camunda_adapter-2.0.0.tar.gz
| Download URL | camunda_adapter-2.0.0.tar.gz |
|---|---|
| Size | 29.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2da575b4a4890319eb652f0784dbb0f007c613b3e41c5200b3739d7c1440cca0
|
|
BLAKE2b-256 checksum How to use checksums |
91b9d541651f7c618a2f1dd47fbe496ccb56b426a96ce2d97584999233db10fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|
Release files / camunda_adapter-2.0.0-py3-none-any.whl
| Download URL | camunda_adapter-2.0.0-py3-none-any.whl |
|---|---|
| Size | 32.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1be180e0227673502688734ba27dd3c46fa06637b4e30850f8939ee7fcad00a1
|
|
BLAKE2b-256 checksum How to use checksums |
f28fdb856559fc5c362ae4dbee6855bf321a69ec23b62c448bccceb18b90a284
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|