feat: Add service manager support

- Add a new service manager crate for dynamic service management
- Integrate service manager with Rhai for scripting
- Provide examples for circle worker management and basic usage
- Add comprehensive tests for service lifecycle and error handling
- Implement cross-platform support for macOS and Linux (zinit/systemd)
This commit is contained in:
Mahmoud-Emad
2025-07-01 18:00:21 +03:00
parent 46ad848e7e
commit 131d978450
28 changed files with 3562 additions and 192 deletions

View File

@@ -53,7 +53,7 @@ done
# Crates to publish in dependency order
CRATES=(
"os"
"process"
"process"
"text"
"net"
"git"
@@ -63,6 +63,7 @@ CRATES=(
"redisclient"
"postgresclient"
"zinit_client"
"service_manager"
"mycelium"
"rhai"
)
@@ -179,6 +180,7 @@ update_dependencies() {
sed -i.tmp "s|sal-virt = { path = \"../virt\" }|sal-virt = \"$version\"|g" "$crate_dir/Cargo.toml"
sed -i.tmp "s|sal-mycelium = { path = \"../mycelium\" }|sal-mycelium = \"$version\"|g" "$crate_dir/Cargo.toml"
sed -i.tmp "s|sal-zinit-client = { path = \"../zinit_client\" }|sal-zinit-client = \"$version\"|g" "$crate_dir/Cargo.toml"
sed -i.tmp "s|sal-service-manager = { path = \"../service_manager\" }|sal-service-manager = \"$version\"|g" "$crate_dir/Cargo.toml"
# Clean up temporary files
rm -f "$crate_dir/Cargo.toml.tmp"