Media is too big
VIEW IN TELEGRAM
🐍 Python в Camunda 7: как настроить и запустить в Script Task
Хотите писать скрипты на Python внутри BPMN-процессов Camunda 7? Это возможно с помощью Jython — реализации Python на JVM. Подключается одной зависимостью.
1️⃣ Подключение Jython
Добавьте зависимость в проект:
Gradle (Groovy):
Maven:
Если используете Tomcat — положите jython-standalone-2.7.4.jar в tomcat/lib и перезапустите сервер.
2️⃣ Пример BPMN-процесса
Script Task с форматом jython:
Важно! В Jython многострочный скрипт не возвращает значение автоматически. Чтобы сохранить результат в переменную процесса, всегда используйте execution.setVariable().
3️⃣ Запуск и проверка
Передайте входные переменные (например, inputA=5, inputB=7) и убедитесь, что переменная sumResult стала равна 12.
⚠️ Ограничения
— Jython 2.7.x поддерживает только Python 2.
— Не работают библиотеки с C-расширениями (numpy, pandas и др.).
— Производительность ниже, чем у Groovy или JavaScript.
Пробовали Jython в своих проектах? Делитесь опытом в комментариях!
#Camunda #BPMN #Jython #Python
Хотите писать скрипты на Python внутри BPMN-процессов Camunda 7? Это возможно с помощью Jython — реализации Python на JVM. Подключается одной зависимостью.
1️⃣ Подключение Jython
Добавьте зависимость в проект:
Gradle (Groovy):
implementation 'org.python:jython-standalone:2.7.4'
Maven:
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>2.7.4</version>
</dependency>
Если используете Tomcat — положите jython-standalone-2.7.4.jar в tomcat/lib и перезапустите сервер.
2️⃣ Пример BPMN-процесса
Script Task с форматом jython:
<scriptTask id="pythonScript" scriptFormat="jython">
<script><![CDATA[
a = execution.getVariable("inputA")
b = execution.getVariable("inputB")
result = a + b
execution.setVariable("sumResult", result)
print "Sum =", result
]]></script>
</scriptTask>
Важно! В Jython многострочный скрипт не возвращает значение автоматически. Чтобы сохранить результат в переменную процесса, всегда используйте execution.setVariable().
3️⃣ Запуск и проверка
Передайте входные переменные (например, inputA=5, inputB=7) и убедитесь, что переменная sumResult стала равна 12.
⚠️ Ограничения
— Jython 2.7.x поддерживает только Python 2.
— Не работают библиотеки с C-расширениями (numpy, pandas и др.).
— Производительность ниже, чем у Groovy или JavaScript.
Пробовали Jython в своих проектах? Делитесь опытом в комментариях!
#Camunda #BPMN #Jython #Python
🔥5❤1