background-jobs-example: bump to 0.11

This commit is contained in:
Aode (lion) 2021-11-22 18:54:00 -06:00
parent 9bda1acc11
commit 2b71b9d2eb
2 changed files with 11 additions and 9 deletions

View file

@ -10,7 +10,7 @@ actix-rt = "2.4.0"
apub = { version = "0.1.0", path = "../../", features = ["awc", "background-jobs", "rustcrypto"] }
anyhow = "1"
awc = { version = "3.0.0-beta.10", default-features = false, features = ["rustls"] }
background-jobs = "0.9.1"
background-jobs = "0.11.0"
env_logger = "0.9"
example-types = { version = "0.1.0", path = "../example-types/" }
log = "0.4"

View file

@ -1,11 +1,10 @@
use actix_rt::Arbiter;
use apub::{
background::{client, ClientFactory, DeliverJob},
clients::{Activity, AwcClient, AwcSignatureConfig},
crypto::Rustcrypto,
session::{BreakerSession, RequestCountSession},
};
use background_jobs::{create_server_in_arbiter, memory_storage::Storage, WorkerConfig};
use background_jobs::{memory_storage::Storage, WorkerConfig};
use example_types::{object_id, Note, NoteType};
use rsa::RsaPrivateKey;
use std::time::Duration;
@ -44,17 +43,15 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = AwcSignatureConfig::default();
let breakers = BreakerSession::limit(10, Duration::from_secs(60 * 60));
let arbiter = Arbiter::new();
let storage = Storage::new();
let queue_handle = create_server_in_arbiter(&arbiter, storage);
WorkerConfig::new(move || State {
let manager = WorkerConfig::new_managed(storage, move |_| State {
config: config.clone(),
breakers: breakers.clone(),
client: awc::Client::new(),
})
.register::<DeliverJob<State, Rustcrypto>>()
.start_in_arbiter(&arbiter, queue_handle.clone());
.start();
let private_key = RsaPrivateKey::new(&mut rand::thread_rng(), 1024)?;
let crypto = Rustcrypto::new("key-id".to_string(), private_key);
@ -65,10 +62,15 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
kind: NoteType::Note,
content: String::from("hi"),
};
note.deliver(&inbox, &client::<State, _>(crypto, queue_handle.clone()))
.await?;
note.deliver(
&inbox,
&client::<State, _>(crypto, manager.queue_handle().clone()),
)
.await?;
actix_rt::signal::ctrl_c().await?;
drop(manager);
Ok(())
}