Skip to main content

platform_core/
execution.rs

1use crate::context::{ActorContext, CorrelationId, TenantId, TraceContext};
2use chrono::{DateTime, Utc};
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
6pub struct ExecutionId(pub String);
7
8#[derive(Debug, Clone, Deserialize, Serialize)]
9pub struct ExecutionContext {
10    pub execution_id: ExecutionId,
11    pub function_name: String,
12    pub attempt: u32,
13    pub queue: String,
14    pub correlation_id: CorrelationId,
15    pub causation_id: Option<String>,
16    pub actor: ActorContext,
17    pub tenant_id: Option<TenantId>,
18    pub trace: TraceContext,
19    pub deadline: Option<DateTime<Utc>>,
20}