合并 origin/master
合入 master 的钱包退款 outbox、拼图后台编译互斥与公开链路更新 保留当前分支外部生成 worker 队列语义,并对齐拼图首图 claim 释放顺序
This commit is contained in:
@@ -19,7 +19,7 @@ use crate::{
|
||||
ExternalGenerationWriteLeaseGuard, PuzzleCompileDraftWorkerPayload,
|
||||
PuzzleGenerateImagesWorkerPayload, PuzzleGenerateUiBackgroundWorkerPayload,
|
||||
execute_puzzle_compile_draft_worker_job, execute_puzzle_generate_images_worker_job,
|
||||
execute_puzzle_generate_ui_background_worker_job,
|
||||
execute_puzzle_generate_ui_background_worker_job, release_puzzle_compile_background_claim,
|
||||
},
|
||||
request_context::RequestContext,
|
||||
state::{AppState, PuzzleApiState},
|
||||
@@ -256,13 +256,13 @@ async fn process_external_generation_job_once(
|
||||
match execute_puzzle_compile_draft_worker_job(
|
||||
&puzzle_state,
|
||||
&request_context,
|
||||
payload,
|
||||
payload.clone(),
|
||||
write_guard,
|
||||
)
|
||||
.await
|
||||
{
|
||||
Ok(session) => {
|
||||
complete_job(
|
||||
let result = complete_job(
|
||||
&state,
|
||||
&worker_id,
|
||||
&job,
|
||||
@@ -274,12 +274,23 @@ async fn process_external_generation_job_once(
|
||||
.to_string(),
|
||||
),
|
||||
)
|
||||
.await
|
||||
.await;
|
||||
if result.is_ok() {
|
||||
release_puzzle_compile_background_claim(&puzzle_state, &payload);
|
||||
}
|
||||
result
|
||||
}
|
||||
Err(error) => {
|
||||
let message = error.body_text();
|
||||
fail_queue_job_after_worker_error(&state, &worker_id, &job, &error, &message)
|
||||
.await?;
|
||||
let should_release_claim = error.should_fail_queue_job();
|
||||
let result = fail_queue_job_after_worker_error(
|
||||
&state, &worker_id, &job, &error, &message,
|
||||
)
|
||||
.await;
|
||||
if result.is_ok() && should_release_claim {
|
||||
release_puzzle_compile_background_claim(&puzzle_state, &payload);
|
||||
}
|
||||
result?;
|
||||
Err(message)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user