我想从外部 websocket 获取加密货币数据并将其保存到数据库。为了producer.py从头开始运行,我将其添加INSTALLED_APPS到settings.py:
INSTALLED_APPS = [
'crypto.spot.producer',
]
producer.py是:
from .models import Spot
async def message(u, t, interval, timeout):
async with websockets.connect(uri=u + '?token=' + t, ping_interval=interval, ping_timeout=timeout) as websocket:
await websocket.send(json.dumps({"id": "4848226",
"type": "subscribe",
"topic": "/market/ticker:all",
"response": True}))
while True:
response = await websocket.recv()
result = json.loads(response)
'''
write result to django model (Spot)
'''
while True:
response = r.post('https://api.kucoin.com/api/v1/bullet-public')
payload = json.loads(response.text)
uri = payload['data']['instanceServers'][0]['endpoint']
token = payload['data']['token']
ping_interval = payload['data']['instanceServers'][0]['pingInterval']
ping_timeout = payload['data']['instanceServers'][0]['pingTimeout']
asyncio.get_event_loop().run_until_complete(message(uri, token, ping_interval, ping_timeout))
asyncio.get_event_loop().run_forever()
POPMUISE
相关分类