[package]
edition = "2021"
name = "graphile_worker"
version = "0.13.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High performance Rust/PostgreSQL job queue (also suitable for getting jobs generated by PostgreSQL triggers/functions out into a different work queue)"
homepage = "https://docs.rs/graphile_worker"
documentation = "https://docs.rs/graphile_worker"
readme = "README.md"
keywords = [
"jobs",
"queue",
"postgres",
"worker",
]
categories = [
"asynchronous",
"database",
]
license = "MIT"
repository = "https://github.com/leo91000/graphile_worker_rs"
[features]
default = [
"runtime-tokio",
"tls-rustls",
"driver-sqlx",
]
driver-sqlx = [
"graphile_worker_database/driver-sqlx",
"graphile_worker_job/driver-sqlx",
"graphile_worker_ctx/driver-sqlx",
"graphile_worker_lifecycle_hooks/driver-sqlx",
"graphile_worker_crontab_runner/driver-sqlx",
"graphile_worker_migrations/driver-sqlx",
"graphile_worker_queries/driver-sqlx",
"graphile_worker_recovery/driver-sqlx",
"graphile_worker_utils/driver-sqlx",
"sqlx",
]
driver-tokio-postgres = [
"runtime-tokio",
"graphile_worker_database/driver-tokio-postgres",
"graphile_worker_crontab_runner/driver-tokio-postgres",
"graphile_worker_migrations/driver-tokio-postgres",
"graphile_worker_queries/driver-tokio-postgres",
"graphile_worker_recovery/driver-tokio-postgres",
"graphile_worker_utils/driver-tokio-postgres",
]
opentelemetry_0_30 = [
"opentelemetry-30",
"tracing-opentelemetry-30",
"graphile_worker_queries/opentelemetry_0_30",
"graphile_worker_utils/opentelemetry_0_30",
]
opentelemetry_0_31 = [
"opentelemetry",
"tracing-opentelemetry",
"graphile_worker_queries/opentelemetry_0_31",
"graphile_worker_utils/opentelemetry_0_31",
]
opentelemetry_0_32 = [
"opentelemetry-32",
"tracing-opentelemetry-32",
"graphile_worker_queries/opentelemetry_0_32",
"graphile_worker_utils/opentelemetry_0_32",
]
runtime-async-std = [
"graphile_worker_database/runtime-async-std",
"sqlx?/runtime-async-std",
"graphile_worker_crontab_runner/runtime-async-std",
"graphile_worker_job/runtime-async-std",
"graphile_worker_ctx/runtime-async-std",
"graphile_worker_migrations/runtime-async-std",
"graphile_worker_lifecycle_hooks/runtime-async-std",
"graphile_worker_task_handler/runtime-async-std",
"graphile_worker_task_details/runtime-async-std",
"graphile_worker_queries/runtime-async-std",
"graphile_worker_recovery/runtime-async-std",
"graphile_worker_utils/runtime-async-std",
"graphile_worker_shutdown_signal/runtime-async-std",
"graphile_worker_runtime/runtime-async-std",
]
runtime-tokio = [
"graphile_worker_database/runtime-tokio",
"sqlx?/runtime-tokio",
"graphile_worker_crontab_runner/runtime-tokio",
"graphile_worker_job/runtime-tokio",
"graphile_worker_ctx/runtime-tokio",
"graphile_worker_migrations/runtime-tokio",
"graphile_worker_lifecycle_hooks/runtime-tokio",
"graphile_worker_task_handler/runtime-tokio",
"graphile_worker_task_details/runtime-tokio",
"graphile_worker_queries/runtime-tokio",
"graphile_worker_recovery/runtime-tokio",
"graphile_worker_utils/runtime-tokio",
"graphile_worker_shutdown_signal/runtime-tokio",
"graphile_worker_runtime/runtime-tokio",
]
tls-native-tls = [
"graphile_worker_database/tls-native-tls",
"sqlx?/tls-native-tls",
"graphile_worker_crontab_runner/tls-native-tls",
"graphile_worker_migrations/tls-native-tls",
"graphile_worker_queries/tls-native-tls",
"graphile_worker_recovery/tls-native-tls",
"graphile_worker_utils/tls-native-tls",
]
tls-rustls = [
"graphile_worker_database/tls-rustls",
"sqlx?/tls-rustls",
"graphile_worker_crontab_runner/tls-rustls",
"graphile_worker_migrations/tls-rustls",
"graphile_worker_queries/tls-rustls",
"graphile_worker_recovery/tls-rustls",
"graphile_worker_utils/tls-rustls",
]
[lib]
name = "graphile_worker"
path = "src/lib.rs"
[[example]]
name = "app_state"
path = "examples/app_state.rs"
required-features = ["driver-sqlx"]
[[example]]
name = "batch_add_jobs"
path = "examples/batch_add_jobs.rs"
required-features = ["driver-sqlx"]
[[example]]
name = "context_helpers"
path = "examples/context_helpers.rs"
required-features = ["driver-sqlx"]
[[example]]
name = "crontab"
path = "examples/crontab.rs"
required-features = ["driver-sqlx"]
[[example]]
name = "hooks"
path = "examples/hooks.rs"
required-features = ["driver-sqlx"]
[[example]]
name = "local_queue"
path = "examples/local_queue.rs"
required-features = ["driver-sqlx"]
[[example]]
name = "run_once"
path = "examples/run_once.rs"
required-features = ["driver-sqlx"]
[[example]]
name = "sendable_worker"
path = "examples/sendable_worker.rs"
required-features = ["driver-sqlx"]
[[example]]
name = "simple"
path = "examples/simple.rs"
required-features = ["driver-sqlx"]
[[test]]
name = "batch_jobs"
path = "tests/batch_jobs.rs"
[[test]]
name = "batcher"
path = "tests/batcher.rs"
[[test]]
name = "builder"
path = "tests/builder.rs"
[[test]]
name = "context_cleanup_gc_task_identifiers"
path = "tests/context_cleanup_gc_task_identifiers.rs"
[[test]]
name = "cron"
path = "tests/cron.rs"
[[test]]
name = "escape_identifier"
path = "tests/escape_identifier.rs"
[[test]]
name = "fail_job"
path = "tests/fail_job.rs"
[[test]]
name = "forbidden_flags"
path = "tests/forbidden_flags.rs"
[[test]]
name = "hooks"
path = "tests/hooks.rs"
[[test]]
name = "job_spec"
path = "tests/job_spec.rs"
[[test]]
name = "local_queue"
path = "tests/local_queue.rs"
[[test]]
name = "migrate"
path = "tests/migrate.rs"
[[test]]
name = "return_jobs"
path = "tests/return_jobs.rs"
[[test]]
name = "run"
path = "tests/run.rs"
[[test]]
name = "run_once"
path = "tests/run_once.rs"
[[test]]
name = "shutdown"
path = "tests/shutdown.rs"
[[test]]
name = "sqlx_driver_paths"
path = "tests/sqlx_driver_paths.rs"
[[test]]
name = "tokio_postgres_driver_args"
path = "tests/tokio_postgres_driver_args.rs"
[[test]]
name = "worker_recovery_heartbeat"
path = "tests/worker_recovery_heartbeat.rs"
[[test]]
name = "worker_recovery_shutdown"
path = "tests/worker_recovery_shutdown.rs"
[[test]]
name = "worker_utils_add_job"
path = "tests/worker_utils_add_job.rs"
[[test]]
name = "worker_utils_add_jobs"
path = "tests/worker_utils_add_jobs.rs"
[[test]]
name = "worker_utils_cleanup"
path = "tests/worker_utils_cleanup.rs"
[[test]]
name = "worker_utils_complete_jobs"
path = "tests/worker_utils_complete_jobs.rs"
[[test]]
name = "worker_utils_force_unlock_workers"
path = "tests/worker_utils_force_unlock_workers.rs"
[[test]]
name = "worker_utils_permanently_fail_jobs"
path = "tests/worker_utils_permanently_fail_jobs.rs"
[[test]]
name = "worker_utils_reschedule_jobs"
path = "tests/worker_utils_reschedule_jobs.rs"
[[bench]]
name = "failure"
path = "benches/failure.rs"
harness = false
[[bench]]
name = "job_operations"
path = "benches/job_operations.rs"
harness = false
[[bench]]
name = "perf_test"
path = "benches/perf_test.rs"
harness = false
[[bench]]
name = "throughput"
path = "benches/throughput.rs"
harness = false
[dependencies.chrono]
version = "0.4.45"
features = ["serde"]
[dependencies.derive_builder]
version = "0.20.2"
[dependencies.futures]
version = "0.3.32"
[dependencies.getset]
version = "0.1.7"
[dependencies.graphile_worker_crontab_parser]
version = "0.5.23"
[dependencies.graphile_worker_crontab_runner]
version = "0.7.9"
default-features = false
[dependencies.graphile_worker_crontab_types]
version = "0.5.17"
[dependencies.graphile_worker_ctx]
version = "0.6.1"
default-features = false
[dependencies.graphile_worker_database]
version = "0.1.5"
default-features = false
[dependencies.graphile_worker_extensions]
version = "0.1.8"
[dependencies.graphile_worker_job]
version = "0.2.1"
default-features = false
[dependencies.graphile_worker_job_spec]
version = "0.1.5"
[dependencies.graphile_worker_lifecycle_hooks]
version = "0.3.4"
default-features = false
[dependencies.graphile_worker_migrations]
version = "0.4.19"
default-features = false
[dependencies.graphile_worker_queries]
version = "0.1.1"
default-features = false
[dependencies.graphile_worker_recovery]
version = "0.1.1"
default-features = false
[dependencies.graphile_worker_runtime]
version = "0.1.3"
default-features = false
[dependencies.graphile_worker_shutdown_signal]
version = "0.3.13"
default-features = false
[dependencies.graphile_worker_task_details]
version = "0.1.5"
default-features = false
[dependencies.graphile_worker_task_handler]
version = "0.5.19"
default-features = false
[dependencies.graphile_worker_utils]
version = "0.1.1"
default-features = false
[dependencies.hex]
version = "0.4.3"
[dependencies.indoc]
version = "2.0.7"
[dependencies.num_cpus]
version = "1.17.0"
[dependencies.opentelemetry]
version = "0.31"
optional = true
[dependencies.opentelemetry-30]
version = "0.30.0"
optional = true
package = "opentelemetry"
[dependencies.opentelemetry-32]
version = "0.32.0"
optional = true
package = "opentelemetry"
[dependencies.rand]
version = "0.10.1"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.150"
[dependencies.sqlx]
version = "0.9.0"
features = [
"chrono",
"postgres",
"json",
"macros",
"postgres",
"json",
"chrono",
"macros",
]
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.52.3"
features = [
"macros",
"signal",
]
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-opentelemetry]
version = "0.32.1"
optional = true
[dependencies.tracing-opentelemetry-30]
version = "0.31.0"
optional = true
package = "tracing-opentelemetry"
[dependencies.tracing-opentelemetry-32]
version = "0.33.0"
optional = true
package = "tracing-opentelemetry"
[dev-dependencies.criterion]
version = "0.8.2"
features = ["async_tokio"]
[dev-dependencies.deadpool-postgres]
version = "0.14.1"
[dev-dependencies.sqlx]
version = "0.9.0"
features = [
"chrono",
"postgres",
"json",
"macros",
"runtime-tokio",
"tls-rustls",
]
default-features = false
[dev-dependencies.tokio]
version = "1.52.3"
features = [
"io-util",
"macros",
"net",
"rt-multi-thread",
"signal",
"sync",
"time",
]
[dev-dependencies.tokio-postgres]
version = "0.7.18"
features = [
"array-impls",
"with-chrono-0_4",
"with-serde_json-1",
]
default-features = false
[dev-dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]
[dev-dependencies.url]
version = "2.5.8"
[dev-dependencies.uuid]
version = "1.23.4"
features = ["v7"]