Skip to content

Commit a40d1ba

Browse files
committed
Add non-ctx method for queueing jobs.
1 parent fbc6b6a commit a40d1ba

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

deepwell/src/services/job/service.rs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
*/
2020

2121
use super::prelude::*;
22-
use rsmq_async::RsmqConnection;
22+
use rsmq_async::{Rsmq, RsmqConnection};
2323
use std::time::Duration;
2424

2525
pub const JOB_QUEUE_NAME: &str = "job";
@@ -57,13 +57,19 @@ impl JobService {
5757
ctx: &ServiceContext<'_>,
5858
job: &Job,
5959
delay: Option<Duration>,
60+
) -> Result<()> {
61+
let mut rsmq = ctx.rsmq();
62+
Self::queue_job_inner(&mut rsmq, job, delay).await
63+
}
64+
65+
pub async fn queue_job_inner(
66+
rsmq: &mut Rsmq,
67+
job: &Job,
68+
delay: Option<Duration>,
6069
) -> Result<()> {
6170
info!("Queuing job {job:?} (delay {delay:?})");
6271
let payload = serde_json::to_vec(job)?;
63-
ctx.rsmq()
64-
.send_message(JOB_QUEUE_NAME, payload, delay)
65-
.await?;
66-
72+
rsmq.send_message(JOB_QUEUE_NAME, payload, delay).await?;
6773
Ok(())
6874
}
6975

0 commit comments

Comments
 (0)