扩展外部生成Worker队列
新增外部生成队列概览和单任务状态契约 将跳一跳、拼消消、敲木鱼图片生成动作接入worker队列 前端生成等待页展示当前任务和队列数量 更新外部生成worker运维文档和团队决策记录
This commit is contained in:
42
server-rs/crates/shared-contracts/src/external_generation.rs
Normal file
42
server-rs/crates/shared-contracts/src/external_generation.rs
Normal file
@@ -0,0 +1,42 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
pub enum ExternalGenerationJobStatus {
|
||||
Queued,
|
||||
Running,
|
||||
Completed,
|
||||
Failed,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ExternalGenerationQueueOverview {
|
||||
pub pending_count: u32,
|
||||
pub running_count: u32,
|
||||
pub updated_at_micros: i64,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ExternalGenerationQueueOverviewResponse {
|
||||
pub overview: ExternalGenerationQueueOverview,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ExternalGenerationJobStatusRecord {
|
||||
pub operation_id: String,
|
||||
pub status: ExternalGenerationJobStatus,
|
||||
pub phase_label: String,
|
||||
pub phase_detail: String,
|
||||
pub progress: u8,
|
||||
pub error: Option<String>,
|
||||
pub updated_at_micros: i64,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ExternalGenerationJobStatusResponse {
|
||||
pub job: ExternalGenerationJobStatusRecord,
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::external_generation::ExternalGenerationJobStatusRecord;
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
pub enum JumpHopDifficulty {
|
||||
@@ -311,6 +313,8 @@ pub struct JumpHopActionResponse {
|
||||
pub session: JumpHopSessionSnapshotResponse,
|
||||
#[serde(default)]
|
||||
pub work: Option<JumpHopWorkProfileResponse>,
|
||||
#[serde(default)]
|
||||
pub queue_state: Option<ExternalGenerationJobStatusRecord>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
|
||||
|
||||
@@ -11,6 +11,7 @@ pub mod creation_agent_document_input;
|
||||
pub mod creation_audio;
|
||||
pub mod creation_entry_config;
|
||||
pub mod creative_agent;
|
||||
pub mod external_generation;
|
||||
pub mod hyper3d;
|
||||
pub mod jump_hop;
|
||||
pub mod llm;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::external_generation::ExternalGenerationJobStatusRecord;
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum PuzzleClearGenerationStatus {
|
||||
@@ -141,6 +143,8 @@ pub struct PuzzleClearActionResponse {
|
||||
pub action_type: PuzzleClearActionType,
|
||||
pub session: PuzzleClearSessionSnapshotResponse,
|
||||
pub work: Option<PuzzleClearWorkProfileResponse>,
|
||||
#[serde(default)]
|
||||
pub queue_state: Option<ExternalGenerationJobStatusRecord>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::external_generation::ExternalGenerationJobStatusRecord;
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
pub enum WoodenFishGenerationStatus {
|
||||
@@ -164,6 +166,8 @@ pub struct WoodenFishActionResponse {
|
||||
pub session: WoodenFishSessionSnapshotResponse,
|
||||
#[serde(default)]
|
||||
pub work: Option<WoodenFishWorkProfileResponse>,
|
||||
#[serde(default)]
|
||||
pub queue_state: Option<ExternalGenerationJobStatusRecord>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
|
||||
|
||||
Reference in New Issue
Block a user