From 645041fbace1ebc6ee60b1e78157ba24c0085757 Mon Sep 17 00:00:00 2001 From: asonix Date: Mon, 27 May 2019 12:42:07 -0500 Subject: [PATCH] Update example, maybe look into ProcessorExt trait for Actix --- examples/actix-example/src/main.rs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/examples/actix-example/src/main.rs b/examples/actix-example/src/main.rs index 942fe8e..b9acb29 100644 --- a/examples/actix-example/src/main.rs +++ b/examples/actix-example/src/main.rs @@ -1,6 +1,6 @@ use actix::System; use background_jobs::{ - Backoff, Job, MaxRetries, Processor, ServerConfig, SledStorage, WorkerConfig, + Backoff, Job, MaxRetries, Processor, ServerConfig, SledStorage, WorkerConfig, QueueHandle, }; use failure::Error; use futures::{future::ok, Future}; @@ -20,8 +20,8 @@ pub struct MyJob { other_usize: usize, } -#[derive(Clone, Debug)] -pub struct MyProcessor; +#[derive(Clone)] +pub struct MyProcessor(pub QueueHandle); fn main() -> Result<(), Error> { let sys = System::new("my-actix-system"); @@ -31,14 +31,16 @@ fn main() -> Result<(), Error> { let queue_handle = ServerConfig::new(storage).thread_count(2).start(); + let processor = MyProcessor(queue_handle.clone()); + WorkerConfig::new(move || MyState::new("My App")) - .register(MyProcessor) + .register(processor.clone()) .set_processor_count(DEFAULT_QUEUE, 16) .start(queue_handle.clone()); - queue_handle.queue::(MyJob::new(1, 2))?; - queue_handle.queue::(MyJob::new(3, 4))?; - queue_handle.queue::(MyJob::new(5, 6))?; + processor.queue(MyJob::new(1, 2))?; + processor.queue(MyJob::new(3, 4))?; + processor.queue(MyJob::new(5, 6))?; sys.run()?; Ok(()) @@ -69,6 +71,12 @@ impl Job for MyJob { } } +impl MyProcessor { + fn queue(&self, job: >::Job) -> Result<(), Error> { + self.0.queue::(job) + } +} + impl Processor for MyProcessor { // The kind of job this processor should execute type Job = MyJob;