mirror of
https://github.com/NexVeridian/wikidata-to-surrealdb.git
synced 2025-09-02 01:49: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
|
||||
- Run `make precommit`
|
||||
- Run `make precommit` or `make check` if using nix flakes
|
||||
|
||||
# Dev Install
|
||||
## Dev Containers
|
||||
|
|
12
Cargo.lock
generated
12
Cargo.lock
generated
|
@ -2272,9 +2272,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
|
|||
|
||||
[[package]]
|
||||
name = "pest"
|
||||
version = "2.7.12"
|
||||
version = "2.7.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea"
|
||||
checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"thiserror",
|
||||
|
@ -4125,9 +4125,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "unicode-script"
|
||||
version = "0.5.6"
|
||||
version = "0.5.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd"
|
||||
checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-security"
|
||||
|
@ -4147,9 +4147,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d"
|
|||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.5"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a"
|
||||
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
|
||||
|
||||
[[package]]
|
||||
name = "untrusted"
|
||||
|
|
7
Makefile
7
Makefile
|
@ -20,3 +20,10 @@ precommit:
|
|||
cargo fmt
|
||||
cargo t
|
||||
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
|
||||
- --pass
|
||||
- $DB_PASSWORD
|
||||
- file:/data/surrealdb
|
||||
- surrealkv:data/surrealdb
|
||||
restart: always
|
||||
deploy:
|
||||
resources:
|
||||
|
|
|
@ -11,7 +11,7 @@ services:
|
|||
- $DB_USER
|
||||
- --pass
|
||||
- $DB_PASSWORD
|
||||
- file:/data/surrealdb
|
||||
- surrealkv:data/surrealdb
|
||||
restart: always
|
||||
deploy:
|
||||
resources:
|
||||
|
|
6
flake.lock
generated
6
flake.lock
generated
|
@ -39,11 +39,11 @@
|
|||
"rust-analyzer-src": []
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726641202,
|
||||
"narHash": "sha256-NrSmOWnr0bIudOLwXd7UwspaHCGwVp8F0jed+nleWpI=",
|
||||
"lastModified": 1726727555,
|
||||
"narHash": "sha256-WAYoFXry7bU3UXCFklX6tBOfBdZUHi+MeIk1JxUKNEo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "59e6cc52c6242800bb448c5a2b6427bd949385ad",
|
||||
"rev": "3b974166133158907839fe20147e11696fade644",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -38,7 +38,7 @@ async fn main() -> Result<(), Error> {
|
|||
None::<Surreal<Client>>,
|
||||
reader,
|
||||
Some(pb.clone()),
|
||||
1_000,
|
||||
100,
|
||||
1_000,
|
||||
)
|
||||
.await?;
|
||||
|
|
|
@ -75,6 +75,7 @@ impl CreateVersion {
|
|||
|
||||
tokio::spawn(async move {
|
||||
let mut retries = 0;
|
||||
|
||||
loop {
|
||||
match dbo {
|
||||
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");
|
||||
}
|
||||
sleep(Duration::from_millis(250) * 2_u32.pow(retries.min(8))).await;
|
||||
retries += 1;
|
||||
sleep(Duration::from_millis(250)).await;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue