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

關(guān)于-webman,異步任務(wù)

evilk

1.在swoole中,如果處理耗時等類似業(yè)務(wù),可以將任務(wù)放入隊列或者扔給taskWorker執(zhí)行
2.在webman中,如果想執(zhí)行類似業(yè)務(wù),應(yīng)該如何操作呢?
3.如果交給自定義進(jìn)程,應(yīng)該如何操作呢?
4.另外,關(guān)于自定義進(jìn)程,監(jiān)聽和非監(jiān)聽,在應(yīng)用上,有什么區(qū)別嗎,比如應(yīng)用場景?

7066 5 5
5個回答

walkor 打賞

webman 提供了redis隊列,可以處理異步任務(wù)。http://m.wtbis.cn/doc/webman#/queue/redis

任務(wù)交給自定義進(jìn)程可以參考這個 https://wenda.workerman.net/question/6057

自定義進(jìn)程監(jiān)聽和非監(jiān)聽區(qū)別就是字面意思,一個帶監(jiān)聽,一個不帶。當(dāng)進(jìn)程不需要外部主動傳遞信息時,可以不用監(jiān)聽,比如一些定時任務(wù)。

  • evilk 2021-05-30

    "任務(wù)交給自定義進(jìn)程可以參考這個

yzh52521

我在webman 使用的 workerman的異步任務(wù)
http://doc.workerman.net/faq/async-task.html

  • evilk 2021-05-30

    這里想請教一下,向任務(wù)進(jìn)程投遞任務(wù),如果任務(wù)需要5秒才能返回,這5秒內(nèi),當(dāng)前進(jìn)程會阻塞等待嗎?

yedemon

workor大·· webman里面如果想用 您的異步http client。實現(xiàn)一個類似代理那樣的功能,但是controller里面不是需要同步返回一個Response麼? 這個有什么好辦法麼?

  • li914 2022-04-29

    可以做個中間件,在中間件中做個判斷是否是 Response 如何不是就加個 Response 返回

  • yedemon 2022-05-10

    不是非常明白`` 希望能給出一些代碼, 感謝=ω= 我目前能想到的,只有把 App.php 的 getCallback 改一改了,因為那邊就是同步的調(diào)用.

  • walkor 2022-05-10

    這個目前沒有辦法做到。

chaz6chez

這里可以推薦一下你去看一下I/O模型,通常來說有blocking IO、async IO、non-blocking IO;
粗俗的講

  • BIO就是我們常用的阻塞寫法,每一行都需要等待結(jié)果然后進(jìn)行下一步;
  • AIO是大部分做非阻塞的解決方案,一般來說就是開一個線程or進(jìn)程,整體的調(diào)度交給系統(tǒng),比如使用消息隊列,或者開設(shè)線程池;
  • NIO的話像Reactor/multi-Reactor模型就是這樣的一種模式,使用event-loop無阻塞的進(jìn)行處理業(yè)務(wù);workerman可以實現(xiàn)這樣的模式,比如 https://github.com/walkor/rabbitmq ;這里面的rabbitmq客戶端是基于bunny實現(xiàn)的,bunny原本使用的是ReactPHP的事件接口,但實際上底層也是基于libevent or libuv or libev等;那么將觸發(fā)的事件丟入event-loop等待調(diào)度,就可以達(dá)到異步的效果。

這里面的taskWoker在我理解,實際上和消息隊列或者自定義進(jìn)程沒有區(qū)別,使用的還是AIO的思想。

這里您指的耗時任務(wù)還需要明確一個點,就是當(dāng)前進(jìn)程是否在意其執(zhí)行結(jié)果,是否需要等待收集,如果需要阻塞等待收集其結(jié)果,最簡單的辦法就是循環(huán)監(jiān)聽,直到收集到且跳出循環(huán),并返回;這一點實際上和golang和swoole的協(xié)程的waitGroup是一個道理;進(jìn)程間可以結(jié)合信號量監(jiān)聽pipe/file等、線程間可以監(jiān)聽channel/競態(tài)的內(nèi)存。

如果不在意其執(zhí)行結(jié)果,或者不需要等待收集的話,市面上成熟的任務(wù)調(diào)度系統(tǒng)或者消息隊列是比較推薦的,自行實現(xiàn)自定義進(jìn)程通過rpc通訊也是可以的,使用成熟產(chǎn)品可以降低業(yè)務(wù)開發(fā)的心智負(fù)擔(dān)。

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