IbcAlpha / IBC

Automation of Interactive Brokers TWS. You can download the latest release here: https://github.com/ibcalpha/ibc/releases/latest
GNU General Public License v3.0
1.06k stars 185 forks source link

Repeated prompts from IB Key #24

Closed tredondo closed 6 years ago

tredondo commented 6 years ago
  1. When the forced reconnection I mentioned in the previous issue happened, I authenticated using the IB Key Android app, data resumed arriving to my client, but then I kept getting the IB Key authentication prompt. The 4th time I got it, I tapped cancel. But, then my app stopped receiving data.

  2. So I launched /opt/ibc/gatewaystart.sh again, remembering from the IBController days that this would not spawn a new instance, but rather "reboot" the current one. However, I ended up with two process trees (/opt/ibc/gatewaystart.sh -> java etc.).

Thought I'd report this, and happy to provide more information next Sunday.

rlktradewright commented 6 years ago

What you say in your paragraph 2 is not correct: running gatewaystart.sh again has never "rebooted" the current instance, either for IBController or IBC.

As I said in my reply to Issue #23, anything to do with the 2 factor authentication is entlirely controlled by IBKR, and neither IBC nor IBController play any part in this.

So if you're having problems with repeated authentication requests, you need to report this to IBKR. There is nothing at all I can do about it.

rlktradewright commented 6 years ago

Closed due to lack of further input.

tredondo commented 5 years ago

What you say in your paragraph 2 is not correct: running gatewaystart.sh again has never "rebooted" the current instance, either for IBController or IBC.

What used to happen when running IBController's gatewaystart.sh after it had already been launched and the Gateway was running?

What I've noticed for the first time today was that with IBC, if I run DISPLAY=:0 /opt/ibc/gatewaystart.sh twice (within a few seconds, Gateway starting up normally), I get

Error: process is already running

I've never seen this message before, and I'm 99.9% sure that I did run DISPLAY=:0 /opt/ibc/gatewaystart.sh while the gateway was running.

Related: is there a recommended way to "reboot" the Gateway? What I currently do is run htop on Linux, find the xterm line, and kill the entire subtree of processes, if I have more than one IBC instance running (e.g. paper + real account). Otherwise, killall xterm seems to work.

rlktradewright commented 5 years ago

What used to happen was that the second instance would fail because the logfile was already in use by the first instance.

The message you quote is new in the latest IBC release. It enables you to start IBC periodically with crontab without the mess that would have occurred with previous versions, similar to using Task Scheduler on Windows. There is a section on this topic towards the end of the User Guide.

There is no way to 'reboot' Gateway using IBC. You have to shut it down and then restart it. To shut it down, use telnet to send a STOP command to IBC's command server port. To restart it automatically, use crontab (eg run it every 5 minutes: if it's already running, nothing much will happen; if not, a new instance will be started.