Сервис ходит в криптобиржи и сохраняет котировки инструментов
Запуск команды обновления котировок
./daemon updateQuote -exchange=2 -symbols="BTCUSD,ETHUSD" -interval=2
interval
: как часто обновлять котировки
exchange
: binance id = 1, exmo id = 2 // впоследствии можно сделать подобие enum
symbols
: перечисляем список имен инструментов.
symbols не является обязательным. Если его не указать, то обновятся все валютные пары из этого exchange
более того, можно запустить команду в инверсном режиме, когда мы указываем, какие инструменты нам НЕ НАДО обновлять.
Пример:
go run cli/cron.go updateQuote -exchange=2 -symbols="^BTCUSD,^ETHUSD" -interval=5
В таком случае обновятся все инструменты, кроме указанных
./api
по умолчанию порт 30000 и прослушивается локалост
GET /get_symbols
возвращает список поддерживаемых инструментов
GET /get_quote?symbols=BTCUSD,ETHBTC
возвращает актуальные котировки для инструментов
Пришлось немного накостылить с парсингом флагов к командам. Это необходимо в силу того, что я реализовал паттерн команд, а значит для инциализирующего запуск команды скрипта набор флагов динамичный, что крайне отвратно воспринимается стандартным пакетом flag. Поэтому я забираю служебные флаги и аргументы, необходимые для инициализации команд, и удаляю их из начального набора, чтобы потом команды работали только с нужными им флагами через стандартный пакет flag