我正在努力保持与fxcmp api(fxcmpy)的连接持续有效 一段时间后,连接断开,当代码尝试重新连接时,我收到以下错误消息。
我尝试了几种方法来恢复连接,但似乎没有任何作用
有人知道这里出什么问题吗?
|ERROR|2020-10-21 16:05:53,815|Socket returns unknown error.
|ERROR|2020-10-21 16:05:53,815|error in reinitialization
Traceback (most recent call last):
File "/home/ec2-user/SageMaker/project_forex/disconnect_test.py", line 60, in start_up
con = setup_con()
File "/home/ec2-user/SageMaker/project_forex/disconnect_test.py", line 50, in setup_con
server='real')
File "/home/ec2-user/anaconda3/envs/forex_cpu/lib/python3.7/site-packages/fxcmpy/fxcmpy.py", line 218, in __init__
raise ServerError('Can not connect to FXCM Server.')
fxcmpy.fxcmpy.ServerError: Can not connect to FXCM Server.
import time
import pickle
import numpy as np
import datetime as dt
import pandas as pd
import sys
import fxcmpy
示例代码:
class Data():
def __init__(self):
self.time = None
self.last_data = None
def update(self, data, dataframe):
self.time = pd.to_datetime(int(data['Updated']), unit='ms')
self.last_data = data['Rates']
def run(data, con):
while con.is_connected():
try:
time.sleep(1)
print(data.time, data.last_data)
except KeyboardInterrupt:
con.close()
raise SystemExit
con.logger.info('lost connection')
con.close()
start_up()
def setup_con():
con = fxcmpy.fxcmpy(log_file=f"logs/test.log",
log_level='debug',
access_token='',
server='real')
return con
def start_up():
flag = False
while not flag:
try:
con = setup_con()
data = Data()
con.subscribe_market_data('EUR/USD', (data.update,))
con.logger.info("Setup complete")
flag = True
run(data, con)
except Exception:
print('error in reinitialization')
con.logger.exception('error in reinitialization')
if __name__ == '__main__':
start_up()