mirror of
https://github.com/apache/incubator-kie-kogito-examples.git
synced 2025-08-24 17:20:54 +08:00
Kogito Serverless Workflow - Python Hello World Example
Description
This example contains a simple workflow definition that executes a python standard function library
Installing and Running
Prerequisites
You will need:
- Java 17+ installed
- Environment variable JAVA_HOME set accordingly
- Maven 3.8.6+ installed
- Python3 installed
When using native image compilation, you will also need:
- GraalVm 19.3.1+ installed
- Environment variable GRAALVM_HOME set accordingly
- LD_LIBRARY_PATH should include GRAALVM_HOME/lib/server
- Note that GraalVM native image compilation typically requires other packages (glibc-devel, zlib-devel and gcc) to be installed too. You also need 'native-image' installed in GraalVM (using 'gu install native-image'). Please refer to GraalVM installation documentation for more details.
Compile and Run in Local Dev Mode
mvn clean package quarkus:dev
Compile and Run in JVM mode
mvn clean package
java -jar target/quarkus-app/quarkus-run.jar
or on windows
mvn clean package
java -jar target\quarkus-app\quarkus-run.jar
Compile and Run using Local Native Image
Note that this requires GRAALVM_HOME to point to a valid GraalVM installation Also LD_LIBRARY_PATH should include GRAALVM_HOME/lib/server
mvn clean package -Pnative
To run the generated native executable, generated in target/
, execute
./target/serverless-workflow-python-quarkus-{version}-runner
Submit a request
The service based on the JSON workflow definition can be access by sending an empty request to http://localhost:8080/python_helloworld
curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{}' http://localhost:8080/python_helloworld
It will return as result the current year