LogViewer
/usr/local/lib/python3.10/functools.py:889: DataOrientationWarning: Row orientation inferred during DataFrame construction. Explicitly specify the orientation by passing `orient="row"` to silence this warning.
  return dispatch(args[0].__class__)(*args, **kw)
2025-09-14 04:00:01 | INFO | data_prepare::348 - {'action': 'data_prepare', 'status': 'started'}
2025-09-14 04:00:01 | INFO | data_prepare:gen_daily_data:233 - {'action': 'gen_daily_data', 'status': 'started'}
2025-09-14 04:00:05 | INFO | data_prepare:gen_daily_data:239 - {'action': 'connect_client', 'status': 'success'}
2025-09-14 04:00:05 | INFO | data_prepare:gen_daily_data:241 - {'action': 'fetch_meta_mapping', 'status': 'started'}
2025-09-14 04:00:05 | INFO | data_prepare:gen_daily_data:254 - {'action': 'get_trading_day_path', 'status': 'attempt'}
2025-09-14 04:00:05 | INFO | data_prepare:get_trading_day_path:67 - {'action': 'get_trading_day_path', 'status': 'started'}
2025-09-14 04:00:27 | INFO | data_prepare:get_trading_day_path:113 - {'action': 'get_trading_day_path', 'status': 'completed', 'path': '/root/data/Research1//daily_data//2025-09-12/'}
2025-09-14 04:00:27 | INFO | data_prepare:gen_daily_data:257 - {'action': 'fetch_data', 'status': 'started', 'category': 'basic_trading'}
2025-09-14 04:00:27 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'switch', 'status': 'started'}
2025-09-14 06:06:03 | CRITICAL | data_prepare:gen_daily_data:342 - {'action': 'gen_daily_data', 'status': 'failed', 'error': "(pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)')\n[SQL: select date, comd, switch from main_daily where method='turnover']\n(Background on this error at: https://sqlalche.me/e/20/e3q8)"}
2025-09-14 06:06:03 | ERROR | data_prepare:gen_daily_data:343 - 生成每日数据过程中发生严重错误
Traceback (most recent call last):

  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 736, in _read_bytes
    data = self._rfile.read(num_bytes)
           │    │           └ 4
           │    └ None
           └ 
  File "/usr/local/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
           │    │               └ 
           │    └ None
           └ 

ConnectionResetError: [Errno 104] Connection reset by peer


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
    │    │       └ 
    │    └ 
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute
    cursor.execute(statement, parameters)
    │      │       │          └ immutabledict({})
    │      │       └ "select date, comd, switch from main_daily where method='turnover'"
    │      └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
             │    │      └ "select date, comd, switch from main_daily where method='turnover'"
             │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
    │    │     └ "select date, comd, switch from main_daily where method='turnover'"
    │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
    │    │                │    │                             └ False
    │    │                │    └ 
    │    │                └ 
    │    └ 5843
    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
    │      └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1164, in read
    self._read_result_packet(first_packet)
    │    │                   └ 
    │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1240, in _read_result_packet
    self._read_rowdata_packet()
    │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1274, in _read_rowdata_packet
    packet = self.connection._read_packet()
             │    └ None
             └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 696, in _read_packet
    packet_header = self._read_bytes(4)
                    │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 742, in _read_bytes
    raise err.OperationalError(
          │   └ 

pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)')


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "/root/project/auto/auto/data_prepare.py", line 350, in 
    gen_daily_data()
    └ 

> File "/root/project/auto/auto/data_prepare.py", line 258, in gen_daily_data
    switch = get_and_save_daily_data('switch', trading_day_path, xd_cli, mask_zero=False, latest_trading_day=latest_trading_day)
             │                                 │                 │                                           └ datetime.date(2025, 9, 12)
             │                                 │                 └ 
             │                                 └ '/root/data/Research1//daily_data//2025-09-12/'
             └ 

  File "/root/project/auto/auto/data_prepare.py", line 129, in get_and_save_daily_data
    data = xd_cli.read(f'{database}/{table}/{file_name}')
           │      └ 

  File "/root/project/xdata/xdata/client.py", line 43, in wrapper
    return func(*_args, **kwargs)
           │     │        └ {}
           │     └ (, 'future_1d/main_daily/switch')
           └ 

  File "/root/project/xdata/xdata/client.py", line 171, in read
    df = pd.read_sql(f"select date, comd, {column} from {db_table} where method='turnover'", db_engine)
         │  │                                                                                └ Engine(mysql+pymysql://root:***@1.117.59.120:32089/future_1d)
         │  └ 

  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 736, in read_sql
    return pandas_sql.read_query(
           │          └ 
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1848, in read_query
    result = self.execute(sql, params)
             │    │       │    └ None
             │    │       └ "select date, comd, switch from main_daily where method='turnover'"
             │    └ 
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1671, in execute
    return self.con.exec_driver_sql(sql, *args)
           │    │   │               │     └ []
           │    │   │               └ "select date, comd, switch from main_daily where method='turnover'"
           │    │   └ 
           │    └ 
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1779, in exec_driver_sql
    ret = self._execute_context(
          │    └ 
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
           │    └ 
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
    │    └ 
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
          │                    │              │                 └ OperationalError(2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)')
          │                    │              └ (, OperationalError(2013, 'Lost connection to MySQL server during query ([Errno 104] Co...
          │                    └ 
          └ OperationalError("(pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query ([Errno 104] Connection...
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
    │    │       └ 
    │    └ 
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute
    cursor.execute(statement, parameters)
    │      │       │          └ immutabledict({})
    │      │       └ "select date, comd, switch from main_daily where method='turnover'"
    │      └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
             │    │      └ "select date, comd, switch from main_daily where method='turnover'"
             │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
    │    │     └ "select date, comd, switch from main_daily where method='turnover'"
    │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
    │    │                │    │                             └ False
    │    │                │    └ 
    │    │                └ 
    │    └ 5843
    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
    │      └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1164, in read
    self._read_result_packet(first_packet)
    │    │                   └ 
    │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1240, in _read_result_packet
    self._read_rowdata_packet()
    │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1274, in _read_rowdata_packet
    packet = self.connection._read_packet()
             │    └ None
             └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 696, in _read_packet
    packet_header = self._read_bytes(4)
                    │    └ 
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 742, in _read_bytes
    raise err.OperationalError(
          │   └ 

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)')
[SQL: select date, comd, switch from main_daily where method='turnover']
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-09-14 06:06:03 | INFO | data_prepare:generate_and_save_dicts:28 - {'action': 'generate_dicts', 'status': 'started'}
2025-09-14 06:06:03 | WARNING | data_prepare:generate_and_save_dicts:50 - {'action': 'sector_range', 'status': '📢需要去更新 future_1d/meta_mapping 当中有新品种上市处于<未分类>状态'}
2025-09-14 06:06:03 | INFO | data_prepare:generate_and_save_dicts:62 - {'action': 'generate_dicts', 'status': 'completed', 'dicts': ['commodity', 'sector', 'exchange']}
2025-09-14 06:06:03 | INFO | data_prepare::353 - {'action': 'generate_dicts', 'status': 'completed'}
2025-09-14 06:06:03 | INFO | data_prepare::358 - {'action': 'data_prepare', 'status': 'completed'}
future_1d/main_daily/switch
select date, comd, switch from main_daily where method='turnover'