Skip to content

Python启动日志显示HeartBeatThread报错 #276

@jsbjfkbsjk

Description

@jsbjfkbsjk

问题摘要 / Issue Summary

Python启动日志显示HeartBeatThread报错

版本信息 / Version Information

其他 (请在下方说明) / Other (please specify below)

浏览器 / Browser

No response

操作系统 / Operating System

Windows 11

发生了什么?/ What happened?

最新的版本3.5.1
在fit-framework\framework\fit\python路径下使用python -m fitframework命令启动时报错

期望的行为 / Expected Behavior

成功启动

重现步骤 / Steps to Reproduce

在fit-framework\framework\fit\python路径下使用python -m fitframework命令启动

相关日志 / Relevant Logs

2025-09-02 17:48:05,844 - broker_utils:115 - [WARNING] - user exception type: <class 'requests.exceptions.HTTPError'> - [MainThread]
2025-09-02 17:48:05,845 - broker_utils:116 - [WARNING] - user exception value:  - [MainThread]
2025-09-02 17:48:05,850 - broker_utils:117 - [WARNING] - user exception trace back:
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 104, in wrapper
    return _execute(*args, **kws)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 89, in wrapper
    return _execute(*args, **kws)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 139, in fit_lb_and_execute
    return broker.fit_execute(address, generic_id, fitable_id, fit_ref, *args, timeout=timeout,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\trace.py", line 211, in wrapper
    return broker_execute(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\configure_based_brokerimpl.py", line 362, in fit_execute
    return address(*args)
           ^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\plugin\fit_py_http_client\http_client.py", line 238, in fit_request_response_http
    return _fit_request_response_universal(False, remote_address, metadata, data_bytes, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\plugin\fit_py_http_client\http_client.py", line 218, in _fit_request_response_universal
    raise HTTPError(response=response)
 - [MainThread]
2025-09-02 17:48:05,852 - broker_utils:141 - [ERROR] - non-degradable fit exception found:  - [MainThread]
2025-09-02 17:48:05,852 - broker_utils:108 - [WARNING] - fit invoke error with fitable info (7c52fb4fdfa243af928f23607fbbee02:33b1f9b8f1cc49d19719a6536c96e854):  - [MainThread]
2025-09-02 17:48:05,854 - broker_utils:141 - [ERROR] - non-degradable fit exception found:  - [MainThread]
2025-09-02 17:48:05,855 - broker_utils:108 - [WARNING] - fit invoke error with fitable info (GET_FITABLES_OF_GENERICABLE_GEN_ID:GET_FITABLES_OF_GENERICABLE_FIT_ID):  - [MainThread]
2025-09-02 17:48:05,856 - broker_utils:141 - [ERROR] - non-degradable fit exception found:  - [MainThread]
2025-09-02 17:48:05,856 - broker_utils:108 - [WARNING] - fit invoke error with fitable info (2ac926e6e40245b78b7bdda23bcb727b:ONLINE_FIT_SERVICE_FITABLE_ID):  - [MainThread]   
2025-09-02 17:48:05,856 - broker_utils:141 - [ERROR] - non-degradable fit exception found:  - [MainThread]
2025-09-02 17:48:05,858 - service_db:134 - [ERROR] - register all fitable services failed. - [MainThread]
2025-09-02 17:48:05,859 - bootstrap:150 - [INFO] - decorate fit function: generic_id = bf2e1029e8844fe9afb698affb95d39c, alias = heart_beat_online_fit_python - [MainThread]
2025-09-02 17:48:05,861 - heart_beat_agent:137 - [INFO] - start heart beating with interval 3000 ms, alive time 18000 ms. - [MainThread]
2025-09-02 17:48:05,863 - bootstrap:108 - [INFO] - _____READY TO PROVIDE FITABLE SERVICE OUTSIDE - [MainThread]
2025-09-02 17:48:05,863 - __init__:204 - [INFO] -
-----------------------------------------
      ___
     /  /\        ___             ___
    /  / /_      /  /\           /  /\
   /  / / /\    /  / /          /  / /
  /  / / / /   /__/  \         /  / /
 /__/ / / /    \__\/\ \__     /  /  \
 \  \ \/ /        \  \ \/\   /__/ /\ \
  \  \  /          \__\  /   \__\/  \ \
   \  \ \          /__/ /         \  \ \
    \  \ \         \__\/           \__\/
     \__\/
----------------------------------------- - [MainThread]
2025-09-02 17:48:05,865 - __init__:205 - [INFO] - fit framework is now available in version 3.5.0.dev. - [MainThread]
2025-09-02 17:48:05,865 - decorators:350 - [INFO] - [Time Elapse] function `main` took 4.767s to execute. - [MainThread]
2025-09-02 17:48:05,867 - __main__:15  - [INFO] - decorate fit function: generic_id = 31a967c550a74eac837d47b09f2c5ff6, alias = None - [MainThread]
2025-09-02 17:48:10,708 - broker_utils:115 - [WARNING] - user exception type: <class 'requests.exceptions.HTTPError'> - [HeartBeatThread]
2025-09-02 17:48:10,710 - broker_utils:116 - [WARNING] - user exception value:  - [HeartBeatThread]
2025-09-02 17:48:10,712 - broker_utils:117 - [WARNING] - user exception trace back:
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 104, in wrapper
    return _execute(*args, **kws)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 89, in wrapper
    return _execute(*args, **kws)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 139, in fit_lb_and_execute
    return broker.fit_execute(address, generic_id, fitable_id, fit_ref, *args, timeout=timeout,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\trace.py", line 211, in wrapper
    return broker_execute(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\configure_based_brokerimpl.py", line 362, in fit_execute
    return address(*args)
           ^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\plugin\fit_py_http_client\http_client.py", line 238, in fit_request_response_http
    return _fit_request_response_universal(False, remote_address, metadata, data_bytes, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\plugin\fit_py_http_client\http_client.py", line 218, in _fit_request_response_universal
    raise HTTPError(response=response)
 - [HeartBeatThread]
2025-09-02 17:48:10,712 - broker_utils:141 - [ERROR] - non-degradable fit exception found:  - [HeartBeatThread]
2025-09-02 17:48:10,714 - broker_utils:108 - [WARNING] - fit invoke error with fitable info (7c52fb4fdfa243af928f23607fbbee02:33b1f9b8f1cc49d19719a6536c96e854):  - [HeartBeatThread]
2025-09-02 17:48:10,714 - broker_utils:141 - [ERROR] - non-degradable fit exception found:  - [HeartBeatThread]
2025-09-02 17:48:10,716 - broker_utils:108 - [WARNING] - fit invoke error with fitable info (GET_FITABLES_OF_GENERICABLE_GEN_ID:GET_FITABLES_OF_GENERICABLE_FIT_ID):  - [HeartBeatThread]
2025-09-02 17:48:10,717 - broker_utils:141 - [ERROR] - non-degradable fit exception found:  - [HeartBeatThread]
2025-09-02 17:48:10,718 - heart_beat_agent:106 - [WARNING] - heart beat failed. [fail_count=1] - [HeartBeatThread]
2025-09-02 17:48:10,724 - heart_beat_agent:107 - [WARNING] - heart beat error type: <class 'fitframework.core.exception.fit_exception.FitException'>, value: , trace back:      
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\plugin\fit_py_heart_beat_agent\heart_beat_agent.py", line 88, in _try_heart_beat_once
    heartbeat([HeartBeatInfo(_scene_type(), _alive_time(), _init_delay())],
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\api\decorators.py", line 52, in fit_invoke_wrapper
    return select_broker.select(generic_id) \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\select_broker.py", line 119, in fit_selector_invoke
    return self.broker.fit_ffp_invoke(self._genericable_id, self._fitable_identifier, fit_ref,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 48, in fit_ffp_invoke
    raise err from None
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 37, in fit_ffp_invoke
    result = self.fit_invoke(generic_id, fitable_identifier, fit_ref, *args, timeout=timeout, is_async=is_async,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 142, in fit_invoke
    work_fit_ids = self.routing(generic_id, fitable_identifier, fit_ref, *args, route_filter=route_filter)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\configure_based_brokerimpl.py", line 259, in routing
    fitable_ids = self.default_routing(generic_id, fitable_identifier, fit_ref, *args)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\configure_based_brokerimpl.py", line 279, in default_routing
    fitable_ids = get_all_fitables_from_registry(Genericable(generic_id, const.FIXED_GENERICABLE_VERSION))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\api\decorators.py", line 52, in fit_invoke_wrapper
    return select_broker.select(generic_id) \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\select_broker.py", line 119, in fit_selector_invoke
    return self.broker.fit_ffp_invoke(self._genericable_id, self._fitable_identifier, fit_ref,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 48, in fit_ffp_invoke
    raise err from None
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 37, in fit_ffp_invoke
    result = self.fit_invoke(generic_id, fitable_identifier, fit_ref, *args, timeout=timeout, is_async=is_async,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 148, in fit_invoke
    return fit_lb_and_execute(self, generic_id, the_id, fit_ref, *args, timeout=timeout, is_async=is_async,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 129, in wrapper
    return _execute(broker, generic_id, cur_fitable_id, fit_ref, *fit_args, **fit_kws)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 104, in wrapper
    return _execute(*args, **kws)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 89, in wrapper
    return _execute(*args, **kws)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 139, in fit_lb_and_execute
    return broker.fit_execute(address, generic_id, fitable_id, fit_ref, *args, timeout=timeout,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\trace.py", line 211, in wrapper
    return broker_execute(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\configure_based_brokerimpl.py", line 362, in fit_execute
    return address(*args)
           ^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\plugin\fit_py_registry_client\fitable_meta_service.py", line 29, in get_all_fitables_from_registry
    fitable_meta_instances: List[FitableMetaInstance] = query_fitable_metas(
                                                        ^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\api\decorators.py", line 52, in fit_invoke_wrapper
    return select_broker.select(generic_id) \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\select_broker.py", line 119, in fit_selector_invoke
    return self.broker.fit_ffp_invoke(self._genericable_id, self._fitable_identifier, fit_ref,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 48, in fit_ffp_invoke
    raise err from None
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 37, in fit_ffp_invoke
    result = self.fit_invoke(generic_id, fitable_identifier, fit_ref, *args, timeout=timeout, is_async=is_async,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 148, in fit_invoke
    return fit_lb_and_execute(self, generic_id, the_id, fit_ref, *args, timeout=timeout, is_async=is_async,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 129, in wrapper
    return _execute(broker, generic_id, cur_fitable_id, fit_ref, *fit_args, **fit_kws)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 104, in wrapper
    return _execute(*args, **kws)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 89, in wrapper
    return _execute(*args, **kws)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 139, in fit_lb_and_execute
    return broker.fit_execute(address, generic_id, fitable_id, fit_ref, *args, timeout=timeout,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\trace.py", line 211, in wrapper
    return broker_execute(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\configure_based_brokerimpl.py", line 360, in fit_execute
    return remote_invoker.call(address, fit_invoke_info, args, timeout, is_async)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\remote_invoker.py", line 72, in call
    fit_response = request_response(*_assemble_parameters(*params))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\api\decorators.py", line 52, in fit_invoke_wrapper
    return select_broker.select(generic_id) \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\select_broker.py", line 119, in fit_selector_invoke
    return self.broker.fit_ffp_invoke(self._genericable_id, self._fitable_identifier, fit_ref,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 48, in fit_ffp_invoke
    raise err from None
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 37, in fit_ffp_invoke
    result = self.fit_invoke(generic_id, fitable_identifier, fit_ref, *args, timeout=timeout, is_async=is_async,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker.py", line 148, in fit_invoke
    return fit_lb_and_execute(self, generic_id, the_id, fit_ref, *args, timeout=timeout, is_async=is_async,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 129, in wrapper
    return _execute(broker, generic_id, cur_fitable_id, fit_ref, *fit_args, **fit_kws)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\fit-3.5.0\fit-framework\framework\fit\python\fitframework\core\broker\broker_utils.py", line 118, in wrapper
    raise FitException(InternalErrorCode.EXCEPTION_FROM_USER_CODE_OCCURRED.value,
 - [HeartBeatThread]

额外信息 / Additional Context

定位在http_client的197行,并且启动时后端日志无任何显示。
在post请求中添加headers["FIT-Version"] = "2"且禁用代理后可以正常启动。

确认事项 / Confirmations

  • 我已经搜索了现有的issues,确认这不是重复问题
    I have searched existing issues and confirmed this is not a duplicate

  • 我已经阅读了项目文档和 FAQ
    I have read the project documentation and FAQ

  • 我提供的信息准确完整
    The information I provided is accurate and complete

  • 我愿意协助测试问题修复 (可选)
    I'm willing to help test the bug fix (optional)

Metadata

Metadata

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions