中如何區(qū)分已受理與已完成)
異步任務(wù)中如何區(qū)分已受理與已完成開(kāi)發(fā)異步任務(wù)時(shí)請(qǐng)求返回成功并不總意味著業(yè)務(wù)已經(jīng)完成。一個(gè)提交接口可能只負(fù)責(zé)保存輸入實(shí)際執(zhí)行仍在后續(xù)步驟中。把狀態(tài)拆開(kāi)記錄可以把流程拆成待提交、已受理、執(zhí)行中、已完成與失敗。若業(yè)務(wù)還有草稿或人工審核環(huán)節(jié)應(yīng)單獨(dú)保留這些狀態(tài)避免把草稿保存成功顯示成正式發(fā)布成功。保存穩(wěn)定的任務(wù)標(biāo)識(shí)收到受理響應(yīng)后保存服務(wù)端返回的任務(wù)標(biāo)識(shí)。后續(xù)查詢(xún)、日志與人工核對(duì)都圍繞這個(gè)標(biāo)識(shí)進(jìn)行而不是根據(jù)標(biāo)題或提交時(shí)間猜測(cè)結(jié)果。用查詢(xún)確認(rèn)結(jié)果提交后再查詢(xún)一次任務(wù)詳情檢查狀態(tài)和結(jié)果地址。查詢(xún)暫時(shí)失敗時(shí)應(yīng)顯示結(jié)果待確認(rèn)并提示稍后核對(duì)不要直接重新提交否則可能產(chǎn)生重復(fù)內(nèi)容。展示可驗(yàn)證的信息界面可以展示受理時(shí)間、最近查詢(xún)時(shí)間、當(dāng)前狀態(tài)和結(jié)果鏈接。這樣的反饋雖然比一句成功更具體但能讓使用者知道流程實(shí)際走到了哪里。清晰的狀態(tài)定義與可靠的結(jié)果回讀是異步任務(wù)最基礎(chǔ)也最容易被忽略的部分。