mirror of
https://github.com/NexVeridian/wikidata-to-surrealdb.git
synced 2025-09-02 09:59:13 +00:00
feat: Exponential backoff
This commit is contained in:
parent
200d5a0377
commit
091bb50a7e
8 changed files with 24 additions and 15 deletions
|
@ -1,5 +1,5 @@
|
||||||
# Contributing code
|
# Contributing code
|
||||||
- Run `make precommit`
|
- Run `make precommit` or `make check` if using nix flakes
|
||||||
|
|
||||||
# Dev Install
|
# Dev Install
|
||||||
## Dev Containers
|
## Dev Containers
|
||||||
|
|
12
Cargo.lock
generated
12
Cargo.lock
generated
|
@ -2272,9 +2272,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pest"
|
name = "pest"
|
||||||
version = "2.7.12"
|
version = "2.7.13"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea"
|
checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"memchr",
|
"memchr",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
|
@ -4125,9 +4125,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-script"
|
name = "unicode-script"
|
||||||
version = "0.5.6"
|
version = "0.5.7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd"
|
checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-security"
|
name = "unicode-security"
|
||||||
|
@ -4147,9 +4147,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-xid"
|
name = "unicode-xid"
|
||||||
version = "0.2.5"
|
version = "0.2.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a"
|
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "untrusted"
|
name = "untrusted"
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -20,3 +20,10 @@ precommit:
|
||||||
cargo fmt
|
cargo fmt
|
||||||
cargo t
|
cargo t
|
||||||
cargo clippy --fix --allow-dirty
|
cargo clippy --fix --allow-dirty
|
||||||
|
|
||||||
|
check:
|
||||||
|
rustup update
|
||||||
|
cargo update
|
||||||
|
nix flake update
|
||||||
|
nix flake check
|
||||||
|
cargo clippy --fix --allow-dirty
|
||||||
|
|
|
@ -11,7 +11,7 @@ services:
|
||||||
- $DB_USER
|
- $DB_USER
|
||||||
- --pass
|
- --pass
|
||||||
- $DB_PASSWORD
|
- $DB_PASSWORD
|
||||||
- file:/data/surrealdb
|
- surrealkv:data/surrealdb
|
||||||
restart: always
|
restart: always
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
|
|
|
@ -11,7 +11,7 @@ services:
|
||||||
- $DB_USER
|
- $DB_USER
|
||||||
- --pass
|
- --pass
|
||||||
- $DB_PASSWORD
|
- $DB_PASSWORD
|
||||||
- file:/data/surrealdb
|
- surrealkv:data/surrealdb
|
||||||
restart: always
|
restart: always
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
|
|
6
flake.lock
generated
6
flake.lock
generated
|
@ -39,11 +39,11 @@
|
||||||
"rust-analyzer-src": []
|
"rust-analyzer-src": []
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726641202,
|
"lastModified": 1726727555,
|
||||||
"narHash": "sha256-NrSmOWnr0bIudOLwXd7UwspaHCGwVp8F0jed+nleWpI=",
|
"narHash": "sha256-WAYoFXry7bU3UXCFklX6tBOfBdZUHi+MeIk1JxUKNEo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "59e6cc52c6242800bb448c5a2b6427bd949385ad",
|
"rev": "3b974166133158907839fe20147e11696fade644",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -38,7 +38,7 @@ async fn main() -> Result<(), Error> {
|
||||||
None::<Surreal<Client>>,
|
None::<Surreal<Client>>,
|
||||||
reader,
|
reader,
|
||||||
Some(pb.clone()),
|
Some(pb.clone()),
|
||||||
1_000,
|
100,
|
||||||
1_000,
|
1_000,
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
|
@ -75,6 +75,7 @@ impl CreateVersion {
|
||||||
|
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
let mut retries = 0;
|
let mut retries = 0;
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
match dbo {
|
match dbo {
|
||||||
Some(ref db) => {
|
Some(ref db) => {
|
||||||
|
@ -93,11 +94,12 @@ impl CreateVersion {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if retries >= 60 * 10 {
|
// Exponential backoff with cap at 60 seconds
|
||||||
|
if retries == 30 {
|
||||||
panic!("Failed to create entities, too many retries");
|
panic!("Failed to create entities, too many retries");
|
||||||
}
|
}
|
||||||
|
sleep(Duration::from_millis(250) * 2_u32.pow(retries.min(8))).await;
|
||||||
retries += 1;
|
retries += 1;
|
||||||
sleep(Duration::from_millis(250)).await;
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue