Files
pezkuwi-subxt/substrate/client/service/Cargo.toml
T
Cecile Tonglet de3181076a Graceful shutdown for the task manager (#6654)
* Initial commit

Forked at: 74655edebc
Parent branch: origin/master

* Move task_manager.rs to mod.rs

* Graceful shutdown for the task manager

* Await all background task JoinHandle at the same time

* Add tests

* Make future() wait also for exit signal + fix essential task failed

Probably related to https://github.com/paritytech/cumulus/issues/111

* add comments for non-obvious code

* Use clean_shutdown() in sc-cli

* Adapt code and upgrade tokio in sc-cli

* cleanup spacing in doc

* Add license

* I guess actually running the clean shutdown would be a good idea

* fix tests

* Update client/cli/src/runner.rs

Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org>

* Improve error logging

* disable other tests (can't reproduce on my machine)

* Revert "disable other tests (can't reproduce on my machine)"

This reverts commit c133c590f33c253123ba0555ce719a71ededd60d.

* It is possible that the tasks are ended first

* Revert "It is possible that the tasks are ended first"

This reverts commit 502aba4a49fb5d892e704c412b8a81768a3f2c71.

* Use single threaded scheduler for more predictability

* enable_time

* Revert "enable_time"

This reverts commit 4e152140764a4bddeedff06a4e36ec701909e8c7.

* Revert "Use single threaded scheduler for more predictability"

This reverts commit ee5e13c5f13ff71e012dcda13579dffeb15f8ffc.

* Revert "Revert "It is possible that the tasks are ended first""

This reverts commit 1b91a8ca3eebbdc18be199c8ca188e88669ae649.

* This cannot be verified either with a threaded pool

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

Co-authored-by: Benjamin Kampmann <ben@parity.io>
Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-07-22 07:15:22 +00:00

95 lines
4.5 KiB
TOML

[package]
name = "sc-service"
version = "0.8.0-rc5"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
homepage = "https://substrate.dev"
repository = "https://github.com/paritytech/substrate/"
description = "Substrate service. Starts a thread that spins up the network, client, and extrinsic pool. Manages communication between them."
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[features]
default = ["db"]
# The RocksDB feature activates the RocksDB database backend. If it is not activated, and you pass
# a path to a database, an error will be produced at runtime.
db = ["sc-client-db/with-kvdb-rocksdb", "sc-client-db/with-parity-db"]
wasmtime = [
"sc-executor/wasmtime",
]
# exposes the client type
test-helpers = []
[dependencies]
derive_more = "0.99.2"
futures01 = { package = "futures", version = "0.1.29" }
futures = { version = "0.3.4", features = ["compat"] }
jsonrpc-pubsub = "14.2.0"
rand = "0.7.3"
parking_lot = "0.10.0"
lazy_static = "1.4.0"
log = "0.4.8"
slog = { version = "2.5.2", features = ["nested-values"] }
futures-timer = "3.0.1"
wasm-timer = "0.2"
exit-future = "0.2.0"
pin-project = "0.4.8"
hash-db = "0.15.2"
serde = "1.0.101"
serde_json = "1.0.41"
sysinfo = "0.14.3"
sc-keystore = { version = "2.0.0-rc5", path = "../keystore" }
sp-io = { version = "2.0.0-rc5", path = "../../primitives/io" }
sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
sp-trie = { version = "2.0.0-rc5", path = "../../primitives/trie" }
sp-externalities = { version = "0.8.0-rc5", path = "../../primitives/externalities" }
sp-utils = { version = "2.0.0-rc5", path = "../../primitives/utils" }
sp-version = { version = "2.0.0-rc5", path = "../../primitives/version" }
sp-blockchain = { version = "2.0.0-rc5", path = "../../primitives/blockchain" }
sp-core = { version = "2.0.0-rc5", path = "../../primitives/core" }
sp-session = { version = "2.0.0-rc5", path = "../../primitives/session" }
sp-state-machine = { version = "0.8.0-rc5", path = "../../primitives/state-machine" }
sp-application-crypto = { version = "2.0.0-rc5", path = "../../primitives/application-crypto" }
sp-consensus = { version = "0.8.0-rc5", path = "../../primitives/consensus/common" }
sc-network = { version = "0.8.0-rc5", path = "../network" }
sc-chain-spec = { version = "2.0.0-rc5", path = "../chain-spec" }
sc-light = { version = "2.0.0-rc5", path = "../light" }
sc-client-api = { version = "2.0.0-rc5", path = "../api" }
sp-api = { version = "2.0.0-rc5", path = "../../primitives/api" }
sc-client-db = { version = "0.8.0-rc5", default-features = false, path = "../db" }
codec = { package = "parity-scale-codec", version = "1.3.1" }
sc-executor = { version = "0.8.0-rc5", path = "../executor" }
sc-transaction-pool = { version = "2.0.0-rc5", path = "../transaction-pool" }
sp-transaction-pool = { version = "2.0.0-rc5", path = "../../primitives/transaction-pool" }
sc-rpc-server = { version = "2.0.0-rc5", path = "../rpc-servers" }
sc-rpc = { version = "2.0.0-rc5", path = "../rpc" }
sc-block-builder = { version = "0.8.0-rc5", path = "../block-builder" }
sp-block-builder = { version = "2.0.0-rc5", path = "../../primitives/block-builder" }
sc-informant = { version = "0.8.0-rc2", path = "../informant" }
sc-telemetry = { version = "2.0.0-rc5", path = "../telemetry" }
sc-offchain = { version = "2.0.0-rc5", path = "../offchain" }
prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.8.0-rc5"}
sc-tracing = { version = "2.0.0-rc5", path = "../tracing" }
tracing = "0.1.10"
parity-util-mem = { version = "0.7.0", default-features = false, features = ["primitive-types"] }
[target.'cfg(all(any(unix, windows), not(target_os = "android"), not(target_os = "ios")))'.dependencies]
netstat2 = "0.8.1"
[target.'cfg(target_os = "linux")'.dependencies]
procfs = '0.7.8'
[target.'cfg(not(target_os = "unknown"))'.dependencies]
tempfile = "3.1.0"
directories = "2.0.2"
[dev-dependencies]
substrate-test-runtime-client = { version = "2.0.0-rc5", path = "../../test-utils/runtime/client" }
sp-consensus-babe = { version = "0.8.0-rc5", path = "../../primitives/consensus/babe" }
grandpa = { version = "0.8.0-rc5", package = "sc-finality-grandpa", path = "../finality-grandpa" }
grandpa-primitives = { version = "2.0.0-rc5", package = "sp-finality-grandpa", path = "../../primitives/finality-grandpa" }
tokio = { version = "0.2", default-features = false }
async-std = { version = "1.6", default-features = false }