ig-python / trading-ig

A lightweight Python wrapper for the IG Markets API
https://trading-ig.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
313 stars 197 forks source link

SSLError(OSError(24, 'Too many open files')) #282

Closed oliverpolden closed 1 year ago

oliverpolden commented 1 year ago

Relevant part of error (Full error below):

  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 1820, in create_session
  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 305, in _req  
  File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 406, in __call__
  File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 351, in iter
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 451, in result
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
  File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 409, in __call__
  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 316, in _request
  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 136, in req
  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 86, in create
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 590, in post
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 542, in request
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 655, in send
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 514, in send
requests.exceptions.SSLError: HTTPSConnectionPool(host='api.ig.com', port=443): Max retries exceeded with url: /gateway/deal/session (Caused by SSLError(OSError(24, 'Too many open files')))

I've done a bit of searching around and found this, not sure if it's an appropriate solution: https://stackoverflow.com/questions/18466079/change-the-connection-pool-size-for-pythons-requests-module-when-in-threading

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/util/ssl_.py", line 402, in ssl_wrap_socket
OSError: [Errno 24] Too many open files

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 382, in _make_request
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1012, in _validate_conn
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 411, in connect
  File "/usr/lib/python3/dist-packages/urllib3/util/ssl_.py", line 404, in ssl_wrap_socket
urllib3.exceptions.SSLError: [Errno 24] Too many open files

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 755, in urlopen
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 574, in increment
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.ig.com', port=443): Max retries exceeded with url: /gateway/deal/session (Caused by SSLError(OSError(24, 'Too many open files')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/oliver/trading/core2/main.py", line 40, in <module>
  File "/home/oliver/trading/core2/main.py", line 16, in main
  File "/home/oliver/trading/core2/packages/broker/Broker.py", line 21, in __init__
  File "/home/oliver/trading/core2/packages/broker/Broker.py", line 234, in get_service
  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 1820, in create_session
  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 305, in _req
  File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 406, in __call__
  File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 351, in iter
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 451, in result
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
  File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 409, in __call__
  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 316, in _request
  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 136, in req
  File "/home/oliver/.local/lib/python3.10/site-packages/trading_ig/rest.py", line 86, in create
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 590, in post
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 542, in request
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 655, in send
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 514, in send
requests.exceptions.SSLError: HTTPSConnectionPool(host='api.ig.com', port=443): Max retries exceeded with url: /gateway/deal/session (Caused by SSLError(OSError(24, 'Too many open files')))
bug-or-feature commented 1 year ago

https://trading-ig.readthedocs.io/en/latest/faq.html#what-if-i-have-a-problem