mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-08 22:33:22 +00:00
3b6397012b
- Add READY atomic flag to track full initialization status - Implement initialize_safe and start_safe methods with mutex protection - Add wait_until_ready function with configurable timeout - Create initialize_and_start_with_ready_check helper method - Replace sleep-based waiting with proper readiness checks - Add safety checks before sending events - Replace chrono with std::time for time handling - Update error handling to provide clear initialization status This change reduces race conditions in multi-threaded environments and ensures events are only processed when the system is fully ready.
41 lines
1.2 KiB
TOML
41 lines
1.2 KiB
TOML
[package]
|
|
name = "rustfs-event-notifier"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
version.workspace = true
|
|
|
|
[features]
|
|
default = ["webhook"]
|
|
webhook = ["dep:reqwest"]
|
|
kafka = ["rdkafka"]
|
|
mqtt = ["rumqttc"]
|
|
http-producer = ["dep:axum"]
|
|
|
|
[dependencies]
|
|
async-trait = { workspace = true }
|
|
axum = { workspace = true, optional = true }
|
|
dotenvy = { workspace = true }
|
|
figment = { workspace = true, features = ["toml", "yaml", "env"] }
|
|
rdkafka = { workspace = true, features = ["tokio"], optional = true }
|
|
reqwest = { workspace = true, optional = true }
|
|
rumqttc = { workspace = true, optional = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_with = { workspace = true }
|
|
smallvec = { workspace = true, features = ["serde"] }
|
|
strum = { workspace = true, features = ["derive"] }
|
|
tracing = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["sync", "net", "macros", "signal", "rt-multi-thread"] }
|
|
tokio-util = { workspace = true }
|
|
uuid = { workspace = true, features = ["v4", "serde"] }
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["test-util"] }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|