use serde::Serialize;
use crate::{JobOptions, Queue, QueueName};
pub struct PreparedFlowJob {
queue_name: QueueName,
job_name: String,
data_json: String,
job_options: JobOptions,
}
impl<'a, D, R> Queue<D, R>
where
D: Serialize,
R: std::fmt::Debug + Clone,
{
pub fn flow_job(&self, job_name: &str, data: &D) -> serde_json::Result<PreparedFlowJob> {
Ok(PreparedFlowJob {
queue_name: self.name.clone(),
job_name: job_name.into(),
data_json: serde_json::to_string(data)?,
job_options: JobOptions::default(),
})
}
}