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}