Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add Bootstrapping Logic toApplication.initialize when Called withinApplication.run_* #4657

@septatrix

Description

@septatrix

Steps to Reproduce

  1. Start a bot without network connectivity

Expected behaviour

The bot should retry requests such asself.get_me() until network connectivity is present

Actual behaviour

The bot directly crashes and the program exists without any way to have it automatically retried (similar to what_network_loop_retry does)

Operating System

Fedora 41 Server

Version of Python, python-telegram-bot & dependencies

python-telegram-bot 21.9Bot API 8.1Python 3.13.1 (main, Dec  9 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-3)]

Relevant log output

Traceback (mostrecentcalllast):File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpx/_transports/default.py",line101,inmap_httpcore_exceptionsyieldFile"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpx/_transports/default.py",line394,inhandle_async_requestresp=awaitself._pool.handle_async_request(req)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpcore/_async/connection_pool.py",line256,inhandle_async_requestraiseexcfromNoneFile"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpcore/_async/connection_pool.py",line236,inhandle_async_requestresponse=awaitconnection.handle_async_request(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^pool_request.request^^^^^^^^^^^^^^^^^^^^    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpcore/_async/connection.py",line101,inhandle_async_requestraiseexcFile"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpcore/_async/connection.py",line78,inhandle_async_requeststream=awaitself._connect(request)^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpcore/_async/connection.py",line124,in_connectstream=awaitself._network_backend.connect_tcp(**kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpcore/_backends/auto.py",line31,inconnect_tcpreturnawaitself._backend.connect_tcp(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ...<5lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpcore/_backends/anyio.py",line113,inconnect_tcpwithmap_exceptions(exc_map):~~~~~~~~~~~~~~^^^^^^^^^File"/usr/lib64/python3.13/contextlib.py",line162,in__exit__self.gen.throw(value)~~~~~~~~~~~~~~^^^^^^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpcore/_exceptions.py",line14,inmap_exceptionsraiseto_exc(exc)fromexchttpcore.ConnectError: [Errno-3]TemporaryfailureinnameresolutionTheaboveexceptionwasthedirectcauseofthefollowingexception:Traceback (mostrecentcalllast):File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/request/_httpxrequest.py",line293,indo_requestres=awaitself._client.request(^^^^^^^^^^^^^^^^^^^^^^^^^^^    ...<6lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpx/_client.py",line1540,inrequestreturnawaitself.send(request,auth=auth,follow_redirects=follow_redirects)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpx/_client.py",line1629,insendresponse=awaitself._send_handling_auth(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ...<4lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpx/_client.py",line1657,in_send_handling_authresponse=awaitself._send_handling_redirects(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ...<3lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpx/_client.py",line1694,in_send_handling_redirectsresponse=awaitself._send_single_request(request)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpx/_client.py",line1730,in_send_single_requestresponse=awaittransport.handle_async_request(request)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpx/_transports/default.py",line393,inhandle_async_requestwithmap_httpcore_exceptions():~~~~~~~~~~~~~~~~~~~~~~~^^File"/usr/lib64/python3.13/contextlib.py",line162,in__exit__self.gen.throw(value)~~~~~~~~~~~~~~^^^^^^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/httpx/_transports/default.py",line118,inmap_httpcore_exceptionsraisemapped_exc(message)fromexchttpx.ConnectError: [Errno-3]TemporaryfailureinnameresolutionTheaboveexceptionwasthedirectcauseofthefollowingexception:Traceback (mostrecentcalllast):File"/opt/poll-forwarder/main.py",line80,in<module>main()~~~~^^File"/opt/poll-forwarder/main.py",line76,inmainapplication.run_polling()~~~~~~~~~~~~~~~~~~~~~~~^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/ext/_application.py",line868,inrun_pollingreturnself.__run(~~~~~~~~~~^updater_coroutine=self.updater.start_polling(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ...<12lines>...stop_signals=stop_signals,^^^^^^^^^^^^^^^^^^^^^^^^^^    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/ext/_application.py",line1069,in__runloop.run_until_complete(self.initialize())~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^File"/usr/lib64/python3.13/asyncio/base_events.py",line720,inrun_until_completereturnfuture.result()~~~~~~~~~~~~~^^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/ext/_application.py",line487,ininitializeawaitself.bot.initialize()File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/ext/_extbot.py",line300,ininitializeawaitsuper().initialize()File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/_bot.py",line763,ininitializeawaitself.get_me()File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/ext/_extbot.py",line1957,inget_mereturnawaitsuper().get_me(^^^^^^^^^^^^^^^^^^^^^    ...<5lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/_bot.py",line895,inget_meresult=awaitself._post(^^^^^^^^^^^^^^^^^    ...<6lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/_bot.py",line619,in_postreturnawaitself._do_post(^^^^^^^^^^^^^^^^^^^^    ...<6lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/ext/_extbot.py",line354,in_do_postreturnawaitsuper()._do_post(^^^^^^^^^^^^^^^^^^^^^^^    ...<6lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/_bot.py",line648,in_do_postresult=awaitrequest.post(^^^^^^^^^^^^^^^^^^^    ...<6lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/request/_baserequest.py",line202,inpostresult=awaitself._request_wrapper(^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ...<7lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/request/_baserequest.py",line334,in_request_wrappercode,payload=awaitself.do_request(^^^^^^^^^^^^^^^^^^^^^^    ...<7lines>...    )^File"/opt/poll-forwarder/.venv/lib64/python3.13/site-packages/telegram/request/_httpxrequest.py",line317,indo_requestraiseNetworkError(f"httpx.{err.__class__.__name__}:{err}")fromerrtelegram.error.NetworkError:httpx.ConnectError: [Errno-3]Temporaryfailureinnameresolution

Additional Context

When rebooting server or VMs it is common that services start up before full network connectivity is available (e.g. DNS). In these cases the bot should retry initialization instead of directly crashing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp