1
2
3
4
5
6
7
8
9
use crate::task::JobInstanceState;
use crate::TaskContext;
use anyhow::Result;
use std::sync::Arc;

#[async_trait::async_trait]
pub trait RunnablePlugin: Sync + Send {
    async fn execute(&self, context: Arc<TaskContext>) -> Result<JobInstanceState>;
}