Commit Graph

4 Commits

Author SHA1 Message Date
dd7dbf8a18 Restart IB Gateway before each job when it has lost IBKR's servers
On 2026-09-29 Gateway lost its connection, failed the reconnect's SSL
handshake and sat on an error dialog for 9 hours with its API port open:
clients connected, every startup request timed out, and systemd never
restarted it because java kept running.

- Broker connects with raiseSyncErrors, so a failed startup sync exits
  instead of continuing with an empty portfolio(), which rebalance would
  read as holding nothing.
- `ibkr-quant gateway` probes the Gateway under its own health_client_id.
- deploy/ensure-gateway.sh (`make gateway`) probes, waits a minute for a
  self-reconnect, then restarts ibgateway.service and waits for it.
- The trade and fills units run `make gateway` as ExecStartPre; fills
  now retries on failure like trade does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 16:52:23 +08:00
358cbec9f9 Pass the Gateway proxy through JDK_JAVA_OPTIONS, which IBC keeps
IBC clears JAVA_TOOL_OPTIONS before launching java. Also point the
service's http(s)/all proxy variables at 7892 instead of the user
manager's 7890.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 22:14:47 +08:00
b898a9975c Route IB Gateway through pc's ipads SOCKS5 proxy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 22:13:12 +08:00
787c41ba63 Run the daily loop on a server with systemd user units
deploy/systemd holds an IB Gateway service (IBC under Xvfb, paper) and
timers for the 09:50 ET rebalance, 16:15 ET fills, and a weekly
constituents refresh; make install-units installs them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 22:03:57 +08:00