簡體   English   中英

使用ZeroRPC進行流式傳輸

[英]Streaming with ZeroRPC

您可能知道,ZeroRPC文檔很少。 我不能讓Python服務器和Node客戶端之間的Streaming工作。

這是Python方法:

@zerorpc.stream
def PublishWhaterver(self, some_args):
    yield "love"
    yield "stack"
    yield "overflow"

這是Node調用:

export const tryStream = () => {
      connectedZerorpcClient.invoke('PublishWhatever', (error, res, more) => {
      console.log('STREAM', res, more);
  });
};

這段代碼會記錄“STREAM love”,然后什么都不做。

所以這是我的問題:

  • 在Python服務器代碼中,我是否應該使用相關的args調用PublishWhatever ,以便它產生額外的值?
  • 在Node客戶端,當有更多數據時,我應該調用一些遞歸函數嗎?

我想要實現的是Pub / Sub系統,但是現在實現似乎只存在於Python服務器和Python客戶端,沒有Node示例。

主頁面上的示例和測試也不相關,它顯示了如何在invoke方法時流式傳輸已存在的數組。這些消息是在一些繁重的計算過程中生成的,我希望服務器能夠告訴客戶“在這里,一些數據准備就緒”,永遠不會斷開連接。

好吧, ZeroRPC積極推動,它正在使用自己的python實現代碼作為自我記錄工作的方式。 換句話說,沒有人花費這么多額外的努力來發布以用戶為中心的,而不是以學習過程為中心的文檔。

無論如何,嘗試遵守ZeroRPC描述中的一些“可見”語句。

@zerorpc.stream
def PublishWhaterver(self, some_args):
    yield ( "love", "stack", "overflow", ) # one, tuple-wrapped result-container

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM