wakflo_core/contracts/
runnable_task.rs

1use crate::connector::ConnectorVersion;
2use crate::TaskContext;
3use std::sync::Arc;
4use wakflo_common::TaskResult;
5
6// #[async_trait::async_trait]
7// pub trait RunOutput: Sync + Send + Debug + 'static {
8//     fn json_output(&self) -> serde_json::Value;
9// }
10
11#[async_trait::async_trait]
12pub trait RunnableTask: Sync + Send {
13    async fn run(&self, context: Arc<TaskContext>) -> TaskResult;
14
15    fn register(&mut self, version: ConnectorVersion);
16
17    fn get_connector_info(&self) -> &ConnectorVersion;
18}