Олег
Заказчик

[no-member:pro]Олег[/no-member:pro]

1 проектов
Параметры проекта
Вариант сотрудничестваОдноразовый проект
Предоплатабез предоплат
Способы оплатыБанковский перевод, Электронные деньги
Приём заявокот до 2023-08-01
Описание проекта
Требуются услуги веб разработчика. Требуется разработка Python скриптов. Работающие примеры прилагаю — надо только собрать все воедино и подключить к RabbitMQ.
К сожалению, плохо знаю Python, поэтому не могу закончить самостоятельно.

Задача:
Необходимо создать два Python скрипта, коммуницирующих с платформой Interactive Brokers [далее - IB] (библиотеку и рабочий пример подключения - прикладываю) и отправляющих информацию в очередь RabbitMQ (опять же, стандартная библиотека).

Важный нюанс:
При подключении к платформе указывается порядковый ID клиента.
Клиент с номером «0» - всегда главный, получающий всю информацию в отличии от всех остальных ID «больше 0».
В связи с этим, при любых штатных/не штатных ситуациях - отключение от платформы IB должно выполняться корректно. В противном случае, снова подключиться к платформе с «Cleint ID=0» получится не ранее чем через пол часа/час... По таймауту от платформы и принудительному закрытию сессии.
Поэтому, стабильность работы - ключевой фактор. Не экономим на проверках, падать не должно.

1. Первый скрипт.

После запуска:
* Поддерживает постоянное (асинхронное) соединение с платформой IB по доступам, указанным в файле-конфигурации;
* Поддерживает постоянное (асинхронное - 1 задача выполняется в 1 момент времени) соединение с RabbitMQ сервером, слушает несколько очередей на предмет запросов (список всех возможных запросов прилагаю) + «подписывается» на события платформы IB и отправляет в нужную очередь полную информацию о этих событиях для последующей обработки в другой системе;

2. Второй скрипт.

После запуска:
* Поддерживает постоянное (синхронное - 1 задача выполняется в 1 момент времени) соединение с RabbitMQ сервером, слушает несколько очередей на предмет запросов (список всех возможных запросов прилагаю);

По запросу сообщения из очереди:
* Подключается к платформе IB по доступам, указанным в сообщении из очереди;
* Выполняет задание;
* Отключается от платформы и ждет дальнейших инструкций;

В приложении - более развернутое задание... Своими словами постарался описать подробно.
+ пример подключения к платформе TWS.
Автор проекта: [no-member:pro]Олег[/no-member:pro]