OwlSoul / YandexTransportProxy

Proxy server for Yandex Transport API methods.
MIT License
18 stars 2 forks source link

Periodically happening chromium error: (selenium.common.exceptions.WebDriverException: Message: chrome not reachable) #2

Closed OwlSoul closed 2 years ago

OwlSoul commented 5 years ago

Errors like this happens with Selenium periodically, usually then Chromium is launched for a long time.

DEBUG : [2019-04-01 18:10:57.625005] : Executing getAllInfo query: ID=c5a44736-1b01-49b2-aefa-0e38e18dbddc URL=https://yandex.ru/maps/79/magadan/?ll=150.800171%2C59.560040&masstransit%5BrouteId%5D=1704917872&masstransit%5BstopId%5D=1941449091&masstransit%5BthreadId%5D=1952775971&mode=stop&z=16
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/home/transport_proxy/transport_proxy.py", line 338, in run
    self.perform_query_extraction_and_execution()
  File "/home/transport_proxy/transport_proxy.py", line 326, in perform_query_extraction_and_execution
    self.execute_query(query)
  File "/home/transport_proxy/transport_proxy.py", line 306, in execute_query
    self.execute_get_all_info(query)
  File "/home/transport_proxy/transport_proxy.py", line 279, in execute_get_all_info
    self.execute_get_info(query)
  File "/home/transport_proxy/transport_proxy.py", line 155, in execute_get_info
    data, error = self.app.core.get_all_info(url=query['body'])
  File "/home/transport_proxy/yandex_transport_core/yandex_transport_core.py", line 250, in get_all_info
    "maps/api/masstransit/getLayerRegions")
  File "/home/transport_proxy/yandex_transport_core/yandex_transport_core.py", line 130, in _get_yandex_json
    network_json = self.get_chromium_networking_data()
  File "/home/transport_proxy/yandex_transport_core/yandex_transport_core.py", line 103, in get_chromium_networking_data
    data = self.driver.execute_script(script)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 636, in execute_script
    'args': converted_args})['value']
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: chrome not reachable
  (Session info: headless chrome=73.0.3683.75)
  (Driver info: chromedriver=73.0.3683.75,platform=Linux 4.15.0-45-generic x86_64)

Probably can be solved with re-launching Chromium time-to-time. Current workaround is using auto-restart docker containers.