You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何同时启动多个Faust应用?启动OSError问题求助

解决多Faust应用同时运行的OSError问题

核心原因

多个Faust应用同时运行时,默认会占用相同的Web监控端口(默认6066)和Worker内部通信端口,导致端口冲突触发OSError。另外,应用ID重复也可能引发资源竞争问题。

解决方案

  1. 为每个应用指定唯一的端口
    在初始化faust.App时,显式设置不同的web_port和worker_port参数,避免端口抢占:

    # 第一个应用
    app = faust.App(
        'UserInfoReceive',
        broker= 'kafka://' + SERVER_INPUT + f':{DVWAP_KAFKA_PORT}',
        value_serializer='raw',
        web_port=6066,
        worker_port=6067,
    )
    
    # 第二个应用
    app = faust.App(
        'OrderInfoReceive',
        broker= 'kafka://' + SERVER_INPUT + f':{DVWAP_KAFKA_PORT}',
        value_serializer='raw',
        web_port=6068,
        worker_port=6069,
    )
    
    # 第三个应用
    app = faust.App(
        'ProductInfoReceive',
        broker= 'kafka://' + SERVER_INPUT + f':{DVWAP_KAFKA_PORT}',
        value_serializer='raw',
        web_port=6070,
        worker_port=6071,
    )
    
  2. 确保每个应用ID唯一
    每个faust.App的第一个参数(应用标识)必须独一无二,不能重复使用UserInfoReceive这类名称,否则会导致Faust内部资源冲突。

  3. 验证Kafka连接权限
    确认WSL环境下的Python进程有权限访问Kafka服务端口,可通过telnet SERVER_INPUT DVWAP_KAFKA_PORT测试连通性,排除网络层面的权限问题。

内容的提问来源于stack exchange,提问作者ShanN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:02:42