国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

如何使用定時器獲取訂單狀態(tài)

小W
  1. 業(yè)務(wù):

在我們平臺發(fā)起一筆三方服務(wù)的訂單,成功后三方接口返回訂單號,然后通過三方提供的訂單狀態(tài)查詢接口b,查詢訂單狀態(tài)。

  1. 訂單狀態(tài)

三方訂單有大約6中不同狀態(tài),每個狀態(tài)變化時間不確定,有可能1秒,有可能30分鐘

  1. 我們平臺的需求

獲取三方訂單的所有狀態(tài)和對應(yīng)時間,并存儲數(shù)據(jù)庫


有什么好的方案,目前只想到用定時器或者定時任務(wù)每秒查一次,存儲數(shù)據(jù)庫,但是每秒存儲數(shù)據(jù)庫壓力有點大,再一個就是動態(tài)創(chuàng)建定時器后,鏈接就斷開了,會不會造成性能或內(nèi)存問題?

請問大佬們有什么好的方案,謝謝

2058 1 0
1個回答

chaz6chez
  1. 你的這個問題應(yīng)該是具體業(yè)務(wù)的,和workerman及生態(tài)沒太大關(guān)系
  2. 業(yè)務(wù)中,你們請求第三方是同步執(zhí)行并獲得訂單號還是異步?
  3. 一般的第三方都會有回調(diào)通知接口,比如訂單創(chuàng)建成功會回調(diào)通知你方,訂單狀態(tài)更新,會通知你方,如果沒有這樣的實現(xiàn),那么只能通過爬模式,也就是你方主動請求其服務(wù)器更新你方的訂單狀態(tài)。
  4. 主動更新訂單狀態(tài)的這種方式對你方服務(wù)不友好,對他方服務(wù)也同樣不友好,我個人認(rèn)為一般情況下沒有這種純爬模式的服務(wù),一般都會推爬結(jié)合;如果實在沒有推送模式,那么只有定時器執(zhí)行,批量的去查詢訂單的狀態(tài),且批量更新;如果沒有批量查詢請求,我覺得這個服務(wù)設(shè)計的是失敗的。
  • 小W 2022-01-07

    確實第三方?jīng)]有通知我們,只有三方的下單和查詢接口,第三方明確說可以一直請求

  • chaz6chez 2022-01-07

    為了避免頻繁查庫,其實可以把未更新的訂單拋入到隊列,消費者一直請求第三方,既然第三方明確了無所謂,那就用這種方式,非常暴力

  • 小W 2022-01-07

    目前使用動態(tài)添加Timer方式,每來一個訂單起一個Timer,每秒去查下狀態(tài),更新數(shù)據(jù)庫,這樣我們這邊存儲壓力比較大,該如何改造

  • chaz6chez 2022-01-07

    儲存有什么壓力?你指update?另外一個訂單一個timer,如果第三方服務(wù)器炸了,你們timer會有累積

  • 小W 2022-01-07

    對,每個訂單1秒update一次壓力也不小

  • chaz6chez 2022-01-07

    不管用什么,你的訂單都要update,除非他們返回訂單的時候就告知了狀態(tài),這樣你insert的時候直接插入對應(yīng)的狀態(tài)就好了

年代過于久遠,無法發(fā)表回答
??