mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-08 22:12:56 +00:00
- Don't spawn a separate thread for each connection. Instead use one thread per safekeeper, that iterates over all connections and sends callback requests for them. -Use tokio postgres to connect to the pageserver, to avoid spawning a new thread for each connection. callmemaybe review fixes: - Spawn all request_callback tasks separately. - Remember 'last_call_time' and only send request_callback if 'recall_period' has passed. - If task hasn't finished till next recall, abort it and try again. - Add pause/resume CallmeEvents to avoid spamming pageserver when connection already established.
46 lines
1.4 KiB
TOML
46 lines
1.4 KiB
TOML
[package]
|
|
name = "walkeeper"
|
|
version = "0.1.0"
|
|
authors = ["Stas Kelvich <stas@zenith.tech>"]
|
|
edition = "2018"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
regex = "1.4.5"
|
|
bincode = "1.3"
|
|
bytes = "1.0.1"
|
|
byteorder = "1.4.3"
|
|
hyper = "0.14"
|
|
routerify = "2"
|
|
fs2 = "0.4.3"
|
|
lazy_static = "1.4.0"
|
|
serde_json = "1"
|
|
tracing = "0.1.27"
|
|
clap = "2.33.0"
|
|
daemonize = "0.4.1"
|
|
rust-s3 = { version = "0.27.0-rc4", features = ["no-verify-ssl"] }
|
|
tokio = "1.11"
|
|
tokio-stream = { version = "0.1.4" }
|
|
postgres-protocol = { git = "https://github.com/zenithdb/rust-postgres.git", rev="9eb0dbfbeb6a6c1b79099b9f7ae4a8c021877858" }
|
|
postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="9eb0dbfbeb6a6c1b79099b9f7ae4a8c021877858" }
|
|
anyhow = "1.0"
|
|
crc32c = "0.6.0"
|
|
humantime = "2.1.0"
|
|
walkdir = "2"
|
|
signal-hook = "0.3.10"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
hex = "0.4.3"
|
|
const_format = "0.2.21"
|
|
tokio-postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="9eb0dbfbeb6a6c1b79099b9f7ae4a8c021877858" }
|
|
|
|
# FIXME: 'pageserver' is needed for ZTimelineId. Refactor
|
|
pageserver = { path = "../pageserver" }
|
|
postgres_ffi = { path = "../postgres_ffi" }
|
|
workspace_hack = { path = "../workspace_hack" }
|
|
zenith_metrics = { path = "../zenith_metrics" }
|
|
zenith_utils = { path = "../zenith_utils" }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.2"
|