[package] name = "smelter-worker" version = "0.1.1" edition = "2021" description = "Shared worker code for the Smelter job orchestration framework" license = "Apache-2.0 OR MIT" repository = "https://github.com/dimfeld/smelter" homepage = "https://github.com/dimfeld/smelter" documentation = "https://docs.rs/smelter-worker" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] error-stack = "0.4.1" opentelemetry = { version = "0.20.0", optional = true } serde = { version = "1.0.197", features = ["derive"] } serde_json = "1.0.114" sysinfo = { version = "0.30.6", optional = true } thiserror = "1.0.57" tokio = { version = "1.36.0", features = ["macros", "rt", "signal", "sync", "time"] } tracing = { version = "0.1.40", optional = true } tracing-opentelemetry = { version = "0.20.0", optional = true } uuid = { version = "1.7.0", features = ["v7", "serde"] } [features] default = ["tracing", "opentelemetry", "stats", "spawner-side", "worker-side"] tracing = ["dep:tracing"] # Propagate opentelemetry context from the job manager to the workers. opentelemetry = ["dep:opentelemetry", "tracing", "dep:tracing-opentelemetry"] # Collect statistics about the worker. stats = ["dep:sysinfo"] worker-side = [] # Functionality only used by the Smelter job spawners and the job manager. spawner-side = []