You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge feature/service-status-events into staging (#55)
* Bump main to staging (#7)
* Setup (#1)
- Add tokio, serde and sqlx crates
- Setup .gitignore
- Setup Cargo.toml
- Setup pipelines
* Enable Dependabot (#3)
Add dependabot.yml with daily cargo updates configured
* Fix staging pipelines (#4)
Fix staging pipelines not triggering on pull request
* Implement Cargo caching (#5)
Add Swatinem's Rust-Cache@v2 action to build, test and deploy pipelines
* Improve README.md (#6)
- Add deployment badges
- Add collaborating info (board + issues)
* Clonable Status
- Made Status clonable by not using BoxedErrors anymore but Strings for holding the error information
- Add get_status() to Service
- Made status property of Service private
* Adapt Service Manager to new Status enum
* Events
- Implement Event<T>
- Add status_changed Event to ServiceInfo
* Event improvements
- Add name attribute to Event<T>
- Unify Channel and Closure subscribers by using an Enum
- Propagate errors when dispatching events
- Add error log when errors occur while dispatching events
- Subscribers are now removed from an event when they run into an error while dispatching
* Event improvements
Make the removal of Event subscribers on error optional
* Slight refactors
- Refactors in service_manager.rs
- Refactors in watchdog.rs
* WIP: Idk lol
I made these changes many months ago. Reviewed them for like half an hour, looks good. I know what I was working on. Will continue now :)
* add: allow clippy::multiple_bound_locations for service module
* add: observables
* refactor: use Mutex instead of RwLock everywhere
* refactor: make remove_on_error work on per-subscriber basis
* refactor: make subscribers identifiable
* refactor: move dispatch logic to Subscriber
* add: AsyncClosure Callback type
* WIP: EventRepeater
* add: EventRepeater
* refactor: event subscribe method names
* refactor: move subscription into own module
* add: AsRef<Event<T>>
* add: UUID, PartialEq/Eq, unsubscribe()
* add: event_repeater detach(), close()
* add: attach/deattach EventRepeater on start/stop of service
* add: service runtime failure handling
* fix: bump version to 0.2.1
Checkout out [Milestones](https://github.com/Kitt3120/lum/milestones), [Board](https://github.com/users/Kitt3120/projects/3), and [Issues](https://github.com/Kitt3120/lum/issues)
17
+
Check out [Milestones](https://github.com/Kitt3120/lum/milestones), [Board](https://github.com/users/Kitt3120/projects/3), and [Issues](https://github.com/Kitt3120/lum/issues)
self.service_manager = self.service_manager.with_service(service).await;// The ServiceManagerBuilder itself will warn when adding a service multiple times
0 commit comments