mirror of
https://github.com/c9s/bbgo.git
synced 2024-09-20 08:11:08 +00:00
python: modify service init argument
This commit is contained in:
parent
0864cc2059
commit
b659d570dd
|
@ -1,3 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from typing import Iterator
|
from typing import Iterator
|
||||||
from typing import List
|
from typing import List
|
||||||
from typing import Tuple
|
from typing import Tuple
|
||||||
|
@ -10,12 +12,14 @@ from .data import KLine
|
||||||
from .data import MarketDataEvent
|
from .data import MarketDataEvent
|
||||||
from .data import Subscription
|
from .data import Subscription
|
||||||
from .data import UserDataEvent
|
from .data import UserDataEvent
|
||||||
|
from .utils import get_insecure_channel
|
||||||
|
|
||||||
|
|
||||||
class UserDataService(object):
|
class UserDataService(object):
|
||||||
|
stub: bbgo_pb2_grpc.UserDataServiceStub
|
||||||
|
|
||||||
def __init__(self, stub: bbgo_pb2_grpc.UserDataServiceStub) -> None:
|
def __init__(self, host: str, port: int) -> None:
|
||||||
self.stub = stub
|
self.stub = bbgo_pb2_grpc.UserDataServiceStub(get_insecure_channel(host, port))
|
||||||
|
|
||||||
def subscribe(self, session: str) -> Iterator[UserDataEvent]:
|
def subscribe(self, session: str) -> Iterator[UserDataEvent]:
|
||||||
request = bbgo_pb2.UserDataRequest(session)
|
request = bbgo_pb2.UserDataRequest(session)
|
||||||
|
@ -26,9 +30,10 @@ class UserDataService(object):
|
||||||
|
|
||||||
|
|
||||||
class MarketService(object):
|
class MarketService(object):
|
||||||
|
stub: bbgo_pb2_grpc.MarketDataServiceStub
|
||||||
|
|
||||||
def __init__(self, stub: bbgo_pb2_grpc.MarketDataServiceStub) -> None:
|
def __init__(self, host: str, port: int) -> None:
|
||||||
self.stub = stub
|
self.stub = bbgo_pb2_grpc.MarketDataServiceStub(get_insecure_channel(host, port))
|
||||||
|
|
||||||
def subscribe(self, subscriptions: List[Subscription]) -> Iterator[MarketDataEvent]:
|
def subscribe(self, subscriptions: List[Subscription]) -> Iterator[MarketDataEvent]:
|
||||||
request = bbgo_pb2.SubscribeRequest(subscriptions=[s.to_pb() for s in subscriptions])
|
request = bbgo_pb2.SubscribeRequest(subscriptions=[s.to_pb() for s in subscriptions])
|
||||||
|
@ -63,9 +68,10 @@ class MarketService(object):
|
||||||
|
|
||||||
|
|
||||||
class TradingService(object):
|
class TradingService(object):
|
||||||
|
stub: bbgo_pb2_grpc.TradingServiceStub
|
||||||
|
|
||||||
def __init__(self, stub: bbgo_pb2_grpc.TradingServiceStub):
|
def __init__(self, host: str, port: int) -> None:
|
||||||
self.stub = stub
|
self.stub = bbgo_pb2_grpc.TradingServiceStub(get_insecure_channel(host, port))
|
||||||
|
|
||||||
def submit_order(self,
|
def submit_order(self,
|
||||||
exchange: str,
|
exchange: str,
|
||||||
|
|
|
@ -27,3 +27,17 @@ def get_credentials_from_env():
|
||||||
private_key_certificate_chain_pairs = [(private_key, certificate_chain)]
|
private_key_certificate_chain_pairs = [(private_key, certificate_chain)]
|
||||||
server_credentials = grpc.ssl_server_credentials(private_key_certificate_chain_pairs)
|
server_credentials = grpc.ssl_server_credentials(private_key_certificate_chain_pairs)
|
||||||
return server_credentials
|
return server_credentials
|
||||||
|
|
||||||
|
|
||||||
|
def get_insecure_channel(host: str, port: int) -> grpc.Channel:
|
||||||
|
address = f'{host}:{port}'
|
||||||
|
return grpc.insecure_channel(address)
|
||||||
|
|
||||||
|
|
||||||
|
def get_insecure_channel_from_env() -> grpc.Channel:
|
||||||
|
host = os.environ.get('BBGO_GRPC_HOST') or '127.0.0.1'
|
||||||
|
port = os.environ.get('BBGO_GRPC_PORT') or 50051
|
||||||
|
|
||||||
|
address = get_insecure_channel(host, port)
|
||||||
|
|
||||||
|
return grpc.insecure_channel(address)
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import click
|
import click
|
||||||
import grpc
|
|
||||||
|
|
||||||
import bbgo_pb2_grpc
|
|
||||||
from bbgo import MarketService
|
from bbgo import MarketService
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,11 +7,7 @@ from bbgo import MarketService
|
||||||
@click.option('--host', default='127.0.0.1')
|
@click.option('--host', default='127.0.0.1')
|
||||||
@click.option('--port', default=50051)
|
@click.option('--port', default=50051)
|
||||||
def main(host, port):
|
def main(host, port):
|
||||||
address = f'{host}:{port}'
|
service = MarketService(host, port)
|
||||||
channel = grpc.insecure_channel(address)
|
|
||||||
|
|
||||||
stub = bbgo_pb2_grpc.MarketDataServiceStub(channel)
|
|
||||||
service = MarketService(stub)
|
|
||||||
|
|
||||||
klines, error = service.query_klines(exchange='binance', symbol='BTCUSDT', interval='1m', limit=10)
|
klines, error = service.query_klines(exchange='binance', symbol='BTCUSDT', interval='1m', limit=10)
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
import click
|
import click
|
||||||
import grpc
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
import bbgo_pb2_grpc
|
|
||||||
from bbgo import MarketService
|
from bbgo import MarketService
|
||||||
from bbgo.data import Subscription
|
from bbgo.data import Subscription
|
||||||
from bbgo.enums import ChannelType
|
from bbgo.enums import ChannelType
|
||||||
|
@ -16,11 +14,8 @@ def main(host, port):
|
||||||
subscriptions = [
|
subscriptions = [
|
||||||
Subscription('binance', ChannelType.BOOK, symbol='BTCUSDT', depth=DepthType.FULL),
|
Subscription('binance', ChannelType.BOOK, symbol='BTCUSDT', depth=DepthType.FULL),
|
||||||
]
|
]
|
||||||
address = f'{host}:{port}'
|
|
||||||
channel = grpc.insecure_channel(address)
|
|
||||||
stub = bbgo_pb2_grpc.MarketDataServiceStub(channel)
|
|
||||||
|
|
||||||
service = MarketService(stub)
|
service = MarketService(host, port)
|
||||||
response_iter = service.subscribe(subscriptions)
|
response_iter = service.subscribe(subscriptions)
|
||||||
for response in response_iter:
|
for response in response_iter:
|
||||||
logger.info(response)
|
logger.info(response)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user