Releases: SovereignEdgeEU-COGNIT/serverless-runtime
Releases · SovereignEdgeEU-COGNIT/serverless-runtime
Cognit Serverless Runtime Release v4.0
This release adds RabbitMQ-based task offloading, MinIO storage integration, and Prometheus metrics collection for better monitoring and scalability.
Features
1. RabbitMQ-Based Offloading
Message queue integration for distributed task execution:
- Thread-safe consumer with automatic heartbeat management and reconnection
- Graceful shutdown via
/control/stop-consumingendpoint - Result publishing to dedicated exchange with request-specific routing
- At-least-once delivery semantics with message acknowledgment
2. MinIO Object Storage Integration
S3-compatible storage client for datasets and execution artifacts:
- Bucket operations: create, list, delete, versioning
- Object operations: upload/download files, in-memory streams, batch operations
- Presigned URLs for secure temporary access
- Configurable connection/read timeouts with automatic retry
3. Enhanced Prometheus Metrics
Metrics exposed on port 9100:
Execution Metrics:
sr_histogram_func_exec_time_seconds: Execution duration (1s, 5s, 10s buckets)sr_histogram_func_input_size_bytes: Input payload size (1KB, 1MB, 1GB buckets)function_duration_seconds: Per-function timing with app_req_id labelsvm_current_function: Real-time execution status (1=running, 0=idle)vm_is_executing: Global VM availability indicatorsr_func_executed_total,sr_func_succeeded_total,sr_func_failed_total: Cumulative counters
Includes OpenNebula integration via prometheus_metrics_injection.py and custom collector (CognitFuncExecCollector) with per-request tracking.
4. Isolated Function Execution
- Multi-language support: Python (cloudpickle), C (protobuf)
- Thread-safe executor with proper locking and lifecycle tracking
- Return code tracking: SUCCESS/ERROR with detailed error messages