runner
runner
is an execution engine designed to process nanoservice-based workflows efficiently. It provides a structured way to execute nanoservices within a defined workflow, enabling modular, reusable backend logic.
Relationship to the rest of the project
In addition, it also tracks important parameters and metrics during the workflow execution that can be used for debugging and monitoring purposes.
Guide to Contributing to the Runner in Nanoservice-ts
1. Clone the Repository
2. Run the Runner Locally
This will start the Runner in development mode, allowing you to test changes in real-time.
Understanding the Runner
The Runner is responsible for:
✅ Executing nanoservices in an isolated environment.
✅ Managing resource allocation (CPU, memory).
✅ Handling retries, error logging, and state management.
Adding Features or Fixing Bugs
1. Create a Feature Branch
2. Make Your Changes
Modify the relevant files inside /core/runner/src/
.
Example: Improving logging in executor.ts
3. Test Your Changes
Run unit tests:
Manually test with:
4. Submit a Pull Request
Push your changes and open a PR on GitHub.
In the PR description, include:
- What was changed?
- Why was it changed?
- How was it tested?
Best Practices
✅ Keep functions modular and reusable.
✅ Write unit tests for new features.
✅ Use consistent logging for observability.
✅ Ensure changes do not break existing workflows.
Final Notes
Contributing to the Runner helps improve the efficiency and reliability of nanoservice-ts
. If you have any questions, open an issue on GitHub! 🚀