Voyz / ibeam

IBeam is an authentication and maintenance tool used for the Interactive Brokers Client Portal Web API Gateway.
Apache License 2.0
582 stars 115 forks source link

maximum number of running instances reached (1) #121

Closed jussirantala closed 1 year ago

jussirantala commented 1 year ago

Hey,

I'm not sure if this is a bug but I'm constantly getting the following error after doing lot's of API calls: maximum number of running instances reached (1)

I have checked multitple times that I don't have IBKR app open, IBKR is not logged in TradingView, TWS is not running and I'm not logged into IBKR in my browser. I don't understand why I get the error.

Is it possible to make it force log out the other session? TWS has that option when it says you are already logged in.

jussirantala commented 1 year ago

It seems that the "another" running instance might be iBeam itself. If I shut it down for one minute and restart, it will log in successfully. I run it inside docker container.

Voyz commented 1 year ago

Hi @jussirantala thanks for reporting your issue and for bearing with me - busy period over the holidays.

Sorry to hear you're running into these issues. Could I ask you to provide more info? You can use the bug report template: https://github.com/Voyz/ibeam/issues/new?assignees=&labels=bug&template=bug_report.md&title=

From your recent reply, do I understand you've had multiple instances of IBeam running?

jussirantala commented 1 year ago

No, only one instance. But for some reason restarting the single instance helps with this issue.

Voyz commented 1 year ago

Gotcha. That sounds like an issue with APS trying to schedule a new maintenance while the previous didn't finish. If you shared your logs we could see what could possibly be the issue 👍

Voyz commented 1 year ago

Closing this issue due to lack of activity. Feel free to reopen if you'd like to continue the discussion 👍

yezhengli-Mr9 commented 1 week ago
2024-11-17 09:49:06,874|I| Cleaning up the resources. Display: <pyvirtualdisplay.display.Display object at 0x7c839ed64090> | Driver: <selenium.webdriver.chrome.webdriver.WebDriver (session="2e8589de6bc28f88a6abb5906aa40783")>
Execution of job "GatewayClient._maintenance (trigger: interval[0:01:00], next run at: 2024-11-17 09:49:36 PST)" skipped: maximum number of running instances reached (1)
Execution of job "GatewayClient._maintenance (trigger: interval[0:01:00], next run at: 2024-11-17 09:50:36 PST)" skipped: maximum number of running instances reached (1)
2024-11-17 09:51:23,435|I| Logging in failed
2024-11-17 09:51:36,325|I| Maintenance
2024-11-17 09:51:36,656|I| Attempt number 2
2024-11-17 09:51:37,093|I| Max request retries reached after 2 attempts. Consider increasing the retries by setting IBEAM_REQUEST_RETRIES environment variable
2024-11-17 09:51:37,094|I| NO SESSION Status(running=True, session=False, connected=False, authenticated=False, competing=False, collision=False, session_id=None, server_name=None, server_version=None, expires=None)
2024-11-17 09:51:37,094|I| Authentication strategy: "B"
2024-11-17 09:51:37,094|I| No active sessions, logging in...
2024-11-17 09:51:37,094|I| Loading auth webpage at https://localhost:5000/sso/Login?forwardTo=22&RL=1&ip2loc=on
2024-11-17 09:51:51,310|I| Gateway auth webpage loaded
2024-11-17 09:51:51,310|I| Login attempt number 1
2024-11-17 09:51:56,721|I| Submitting the form
2024-11-17 09:52:04,194|I| Webpage displayed "Client login succeeds"
2024-11-17 09:52:05,194|I| Cleaning up the resources. Display: <pyvirtualdisplay.display.Display object at 0x7c839ed77910> | Driver: <selenium.webdriver.chrome.webdriver.WebDriver (session="129172839864435a44cf09038cf79587")>
Execution of job "GatewayClient._maintenance (trigger: interval[0:01:00], next run at: 2024-11-17 09:52:36 PST)" skipped: maximum number of running instances reached (1)
Execution of job "GatewayClient._maintenance (trigger: interval[0:01:00], next run at: 2024-11-17 09:53:36 PST)" skipped: maximum number of running instances reached (1)