mirror of
https://git.asonix.dog/asonix/background-jobs.git
synced 2024-11-21 19:40:59 +00:00
Update examples to use new api
This commit is contained in:
parent
c00f739cdc
commit
6cec89361c
5 changed files with 22 additions and 16 deletions
|
@ -1,12 +1,10 @@
|
|||
use actix_rt::Arbiter;
|
||||
use anyhow::Error;
|
||||
use background_jobs::{
|
||||
// memory_storage::{ActixTimer, Storage},
|
||||
ActixJob as Job,
|
||||
MaxRetries,
|
||||
WorkerConfig,
|
||||
memory_storage::{ActixTimer, Storage},
|
||||
ActixSpawner, MaxRetries, UnsendJob as Job, WorkerConfig,
|
||||
};
|
||||
use background_jobs_sled_storage::Storage;
|
||||
// use background_jobs_sled_storage::Storage;
|
||||
use std::{
|
||||
future::{ready, Ready},
|
||||
time::{Duration, SystemTime},
|
||||
|
@ -36,9 +34,8 @@ async fn main() -> Result<(), Error> {
|
|||
.init();
|
||||
|
||||
// Set up our Storage
|
||||
let db = sled::Config::new().temporary(true).open()?;
|
||||
let storage = Storage::new(db)?;
|
||||
// let storage = Storage::new(ActixTimer);
|
||||
// let db = sled::Config::new().temporary(true).open()?;
|
||||
let storage = Storage::new(ActixTimer);
|
||||
|
||||
let arbiter = Arbiter::new();
|
||||
|
||||
|
@ -53,9 +50,11 @@ async fn main() -> Result<(), Error> {
|
|||
queue_handle.queue(MyJob::new(1, 2)).await?;
|
||||
queue_handle.queue(MyJob::new(3, 4)).await?;
|
||||
queue_handle.queue(MyJob::new(5, 6)).await?;
|
||||
for i in 0..20 {
|
||||
queue_handle
|
||||
.schedule(MyJob::new(7, 8), SystemTime::now() + Duration::from_secs(2))
|
||||
.schedule(MyJob::new(7, 8), SystemTime::now() + Duration::from_secs(i))
|
||||
.await?;
|
||||
}
|
||||
|
||||
// Block on Actix
|
||||
actix_rt::signal::ctrl_c().await?;
|
||||
|
@ -86,6 +85,7 @@ impl MyJob {
|
|||
impl Job for MyJob {
|
||||
type State = MyState;
|
||||
type Future = Ready<Result<(), Error>>;
|
||||
type Spawner = ActixSpawner;
|
||||
|
||||
// The name of the job. It is super important that each job has a unique name,
|
||||
// because otherwise one job will overwrite another job when they're being
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use actix_rt::Arbiter;
|
||||
use anyhow::Error;
|
||||
use background_jobs::{ActixJob as Job, MaxRetries, WorkerConfig};
|
||||
use background_jobs::{ActixSpawner, MaxRetries, UnsendJob as Job, WorkerConfig};
|
||||
use background_jobs_sled_storage::Storage;
|
||||
use std::{
|
||||
future::{ready, Future, Ready},
|
||||
|
@ -88,6 +88,7 @@ impl MyJob {
|
|||
impl Job for MyJob {
|
||||
type State = MyState;
|
||||
type Future = Ready<Result<(), Error>>;
|
||||
type Spawner = ActixSpawner;
|
||||
|
||||
// The name of the job. It is super important that each job has a unique name,
|
||||
// because otherwise one job will overwrite another job when they're being
|
||||
|
@ -117,6 +118,7 @@ impl Job for MyJob {
|
|||
impl Job for LongJob {
|
||||
type State = MyState;
|
||||
type Future = Pin<Box<dyn Future<Output = Result<(), Error>>>>;
|
||||
type Spawner = ActixSpawner;
|
||||
|
||||
const NAME: &'static str = "LongJob";
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use actix_rt::Arbiter;
|
||||
use anyhow::Error;
|
||||
use background_jobs::{ActixJob as Job, MaxRetries, WorkerConfig};
|
||||
use background_jobs::{ActixSpawner, MaxRetries, UnsendJob as Job, WorkerConfig};
|
||||
use background_jobs_sled_storage::Storage;
|
||||
use std::{
|
||||
future::{ready, Ready},
|
||||
|
@ -100,6 +100,7 @@ impl MyJob {
|
|||
impl Job for MyJob {
|
||||
type State = MyState;
|
||||
type Future = Ready<Result<(), Error>>;
|
||||
type Spawner = ActixSpawner;
|
||||
|
||||
// The name of the job. It is super important that each job has a unique name,
|
||||
// because otherwise one job will overwrite another job when they're being
|
||||
|
@ -129,6 +130,7 @@ impl Job for MyJob {
|
|||
impl Job for StopJob {
|
||||
type State = MyState;
|
||||
type Future = Ready<Result<(), Error>>;
|
||||
type Spawner = ActixSpawner;
|
||||
|
||||
const NAME: &'static str = "StopJob";
|
||||
const QUEUE: &'static str = DEFAULT_QUEUE;
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
use actix_rt::Arbiter;
|
||||
use anyhow::Error;
|
||||
use background_jobs::{
|
||||
// memory_storage::{ActixTimer, Storage},
|
||||
ActixJob as Job,
|
||||
ActixSpawner,
|
||||
MaxRetries,
|
||||
// memory_storage::{ActixTimer, Storage},
|
||||
UnsendJob as Job,
|
||||
WorkerConfig,
|
||||
};
|
||||
use background_jobs_sled_storage::Storage;
|
||||
|
@ -91,6 +92,7 @@ impl MyJob {
|
|||
impl Job for MyJob {
|
||||
type State = MyState;
|
||||
type Future = Pin<Box<dyn Future<Output = Result<(), Error>> + 'static>>;
|
||||
type Spawner = ActixSpawner;
|
||||
|
||||
// The name of the job. It is super important that each job has a unique name,
|
||||
// because otherwise one job will overwrite another job when they're being
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use actix_rt::Arbiter;
|
||||
use anyhow::Error;
|
||||
use background_jobs::{ActixJob as Job, MaxRetries, WorkerConfig};
|
||||
use background_jobs::{Job, MaxRetries, WorkerConfig};
|
||||
use background_jobs_sled_storage::Storage;
|
||||
use std::{
|
||||
future::{ready, Ready},
|
||||
|
|
Loading…
Reference in a new issue