MegEngine / MegFlow

Efficient ML solution for long-tailed demands.
Apache License 2.0
402 stars 42 forks source link

如何在MegFLow的框架下利用Flask等框架传输纯文本数据? #40

Closed wanghan0501 closed 2 years ago

wanghan0501 commented 3 years ago

detail | 详细描述

目前看官方的教程,只有ImageServer和VideoServer,两者必须要传输Image或者Video数据,虽然有extra_data能够解析URL,但是无法只传输纯文本信息。

希望官方教程增加在MegFlow框架下,利用Flask等Web框架作为source的示例代码,方便自定义传输数据的类型

tpoisonooo commented 3 years ago

提供另一个备选方案在 https://github.com/MegEngine/MegFlow/tree/template04-generator

原因是: Flask 的 App.route 注册的 callback 函数无法唤醒 MegFlow Node 。 前者属于第三方线程,后者属于异步任务。

其他比较短期的方案:

wanghan0501 commented 3 years ago
  1. 如果不限于Flask框架,在Python的体系内有可能实现这个需求?
  2. 关于短期方案,如果官方能支持最好了
  3. 是建议官方加一个textserver,用于处理纯文本数据
  4. 或者支持application/json格式
tpoisonooo commented 2 years ago

https://github.com/MegEngine/MegFlow/pull/54 合并中,PR 里面有示例 server/client 用法。也可参照 https://github.com/MegEngine/MegFlow/tree/template05-bytes

注意为了遵守 ffmpeg LGPL 协议,编译方式改了。见 build 文档/ Dockerfile/ CI。

tpoisonooo commented 2 years ago

BTW, loguru 卡住的问题需要个复现环境,目前不能复现。