關(guān)于異步任務(wù)的設(shè)計(jì)探索(1)

2 評(píng)論 11764 瀏覽 61 收藏 6 分鐘

編輯導(dǎo)語:什么是異步任務(wù)?什么是同步任務(wù)?異步任務(wù)的設(shè)計(jì)邏輯是什么?有哪些需要注意的問題?本文作者圍繞以上問題,為我們展開了解答,希望看完本篇文章你能夠有所收獲,并且繼續(xù)關(guān)注后續(xù)文章。

今天重新把以前一個(gè)集團(tuán)的項(xiàng)目重構(gòu)了一下,然后發(fā)現(xiàn)以前犯下了很多的錯(cuò)誤,特別是對(duì)于一些異步的業(yè)務(wù)流程(也就是反饋結(jié)果不是即時(shí)的),做到簡直是一塌糊涂,以下是前兩年做的原型:

這是一個(gè)客戶簽約的業(yè)務(wù),流程如下:

  1. 開票員給客戶開通代收的業(yè)務(wù),并且與客戶簽約(即簽訂代收協(xié)議);
  2. 主管審核客戶的簽約業(yè)務(wù),若拒絕,則開票人需要通知客戶修改資料重新提交;
  3. 若同意,則簽約成功,流程結(jié)束。

一、曾犯的錯(cuò)誤

自己分析了一下之前的錯(cuò)誤,發(fā)現(xiàn)雖然分析了整體的業(yè)務(wù)流程、角色的權(quán)限與上下游,但沒有去分析這個(gè)任務(wù)是同步還是異步的,導(dǎo)致與開發(fā)同學(xué)也吵了很久,錯(cuò)誤分析如下:

  1. 提交后沒有告訴發(fā)起人(即開票員)整體的流程,導(dǎo)致很多發(fā)起人以及客戶對(duì)后面的流程一臉懵逼(發(fā)起人對(duì)接客戶,但經(jīng)辦人不會(huì)對(duì)客戶);
  2. 提交之后沒告訴發(fā)起人這是一個(gè)異步的問題,需要等待一段時(shí)間才會(huì)有結(jié)果;
  3. 實(shí)際上,在簽約審核的時(shí)候,發(fā)起人是可以幫客戶完成其它業(yè)務(wù)(如綁定銀行卡、消費(fèi)等),導(dǎo)致發(fā)起人跟客戶傻傻地等經(jīng)辦人簽約完成再去幫客戶辦理其它業(yè)務(wù)。

雖然我們有一整隊(duì)實(shí)施團(tuán)隊(duì)去幫助集團(tuán)中的所有使用者去了解業(yè)務(wù),但作為一個(gè)產(chǎn)品,還是必須保持敬畏之心對(duì)待用戶才可以。

二、異步與同步

什么是異步呢?

對(duì)于程序來說就是一個(gè)請(qǐng)求發(fā)出去了,但系統(tǒng)不會(huì)立刻處理,而是放在隊(duì)列里,系統(tǒng)會(huì)按照隊(duì)列方式去處理它,或者處理的時(shí)間非常長也可以歸為異步任務(wù)。

反過來同步任務(wù)就是請(qǐng)求遞交,幾乎即時(shí)就有反饋。

以前我總是同步、異步的任務(wù)都用同樣的設(shè)計(jì),單純地通過反饋彈窗告訴用戶這個(gè)任務(wù)大概需要等多久,很多用戶就傻傻在那里等著。

于是今天,我按照上邊歸類的問題,修改了原型:

為了讓發(fā)起人知道總體的流程,提交簽約之后,我們需要反饋一個(gè)結(jié)果且告訴發(fā)起人整體的流程,便于發(fā)起人與經(jīng)辦人交接(由于我們接入了企業(yè)微信的通知,【催一下】可以直接在企業(yè)微信通知經(jīng)辦人)。

第二個(gè)問題需要告訴發(fā)起人這個(gè)任務(wù)需要等待,這時(shí)候我們需要引入站內(nèi)消息功能,并且告知用戶可在哪里看到查看審核結(jié)果的通知。

若這個(gè)任務(wù)是比較重要的,可以考慮單獨(dú)列一個(gè)任務(wù)列表,這樣任務(wù)完成時(shí),用戶可立即知道。

最后,我們需要引導(dǎo)發(fā)起人先去完成其他任務(wù),就要在結(jié)果頁中對(duì)按鈕做相關(guān)業(yè)務(wù)的跳轉(zhuǎn),改一下:

總結(jié)了一下,異步任務(wù)的設(shè)計(jì)邏輯:

  1. 需要告訴用戶整體的流程以及任務(wù)的進(jìn)度;
  2. 需要告訴用戶,這個(gè)任務(wù)需要等待,并告知用戶當(dāng)有結(jié)果時(shí),系統(tǒng)會(huì)進(jìn)行及時(shí)的通知,讓用戶安心;
  3. 引導(dǎo)用戶去完成其它業(yè)務(wù)。

另外之前做異步任務(wù)的設(shè)計(jì)時(shí)發(fā)現(xiàn)一個(gè)很嚴(yán)重的問題:用戶不敢關(guān)閉當(dāng)前窗口或切換到其它地方,他會(huì)很害怕任務(wù)會(huì)被中斷。

所以我們要清楚地告知用戶:“這個(gè)任務(wù)需要等待,有結(jié)果時(shí)我們會(huì)及時(shí)通知你,你可以進(jìn)行其它業(yè)務(wù)的操作”

未完待續(xù),后續(xù)文章請(qǐng)大家持續(xù)關(guān)注。

 

本文由 @蔡包 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 提交流程工單之后建議自動(dòng)企微/釘釘/飛書發(fā)送通知,并記錄待處理列表。

    催一下這個(gè)功能可以放在提交流程列表的查看or操作欄中。

    來自北京 回復(fù)
  2. 有見解,同步任務(wù)和異步任務(wù)的確要分開設(shè)計(jì)

    來自日本 回復(fù)