Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

增加获取数据的API,类似record_data #188

Open
kaybinwong opened this issue Nov 3, 2021 · 2 comments
Open

增加获取数据的API,类似record_data #188

kaybinwong opened this issue Nov 3, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@kaybinwong
Copy link

kaybinwong commented Nov 3, 2021

增加获取数据的API,类似record_data,用于拉取指定提供方的数据,而不落地到本地

@foolcage foolcage self-assigned this Nov 4, 2021
@foolcage foolcage added the enhancement New feature or request label Nov 4, 2021
@awfssv
Copy link

awfssv commented Jan 9, 2022

执行examples\data_runner\finance_runner.py 碰到下面这错误貌似跟这个有关,请问怎么解决?

2022-01-09 13:54:08,861 INFO MainThread Adding job tentatively -- it will be properly scheduled when the scheduler starts
2022-01-09 13:54:08,861 INFO MainThread record data: Stock, entity_provider: None, data_provider: eastmoney
Stock registered recorders:{'joinquant': <class 'zvt.recorders.joinquant.meta.jq_stock_meta_recorder.JqChinaStockRecorder'>, 'exchange': <class 'zvt.recorders.exchange.exchange_stock_meta_recorder.ExchangeStockMetaRecorder'>, 'em': <class 'zvt.recorders.em.meta.em_stock_meta_recorder.EMStockRecorder'>, 'eastmoney': <class 'zvt.recorders.eastmoney.meta.eastmoney_stock_meta_recorder.EastmoneyStockRecorder'>}
2022-01-09 13:54:08,869 ERROR MainThread report error:(sqlite3.OperationalError) no such column: recoder_state.state_name
[SQL: SELECT recoder_state.id AS recoder_state_id, recoder_state.entity_id AS recoder_state_entity_id, recoder_state.timestamp AS recoder_state_timestamp, recoder_state.state_name AS recoder_state_state_name, recoder_state.state AS recoder_state_state
FROM recoder_state
WHERE recoder_state.id = ?]
[parameters: ('eastmoney_stock_recorder',)]
(Background on this error at: http://sqlalche.me/e/14/e3q8)
Traceback (most recent call last):
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\engine\base.py", line 1771, in _execute_context
cursor, statement, parameters, context
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\engine\default.py", line 717, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: recoder_state.state_name

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

Traceback (most recent call last):
File "D:\MyDocument\myprogram\python\zvt\examples\recorder_utils.py", line 29, in run_data_recorder
entity_ids=entity_ids, provider=data_provider, sleeping_time=sleeping_time, **recorder_kv
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\zvt\contract\schema.py", line 209, in record_data
r = recorder_class(**kw)
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\zvt\contract\recorder.py", line 53, in init
super().init()
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\zvt\contract\base.py", line 44, in init
self.state_domain = self.state_schema.get_one(id=self.name)
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\zvt\contract\schema.py", line 83, in get_one
return get_one(data_schema=cls, id=id, provider=provider)
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\zvt\contract\api.py", line 234, in get_one
return session.query(data_schema).get(id)
File "", line 2, in get
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\util\deprecations.py", line 390, in warned
return fn(*args, **kwargs)
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\orm\query.py", line 942, in get
return self._get_impl(ident, loading.load_on_pk_identity)
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\orm\query.py", line 954, in _get_impl
execution_options=self._execution_options,
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\orm\session.py", line 2843, in _get_impl
load_options=load_options,
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\orm\loading.py", line 535, in load_on_pk_identity
bind_arguments=bind_arguments,
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\orm\session.py", line 1689, in execute
result = conn._execute_20(statement, params or {}, execution_options)
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\engine\base.py", line 1582, in _execute_20
return meth(self, args_10style, kwargs_10style, execution_options)
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\sql\elements.py", line 324, in _execute_on_connection
self, multiparams, params, execution_options
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\engine\base.py", line 1461, in _execute_clauseelement
cache_hit=cache_hit,
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\engine\base.py", line 1814, in execute_context
e, statement, parameters, cursor, context
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\engine\base.py", line 1995, in handle_dbapi_exception
sqlalchemy_exception, with_traceback=exc_info[2], from
=e
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\util\compat.py", line 207, in raise

raise exception
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\engine\base.py", line 1771, in _execute_context
cursor, statement, parameters, context
File "D:\MyDocument\myprogram\python\zvt\venv\lib\site-packages\sqlalchemy\engine\default.py", line 717, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: recoder_state.state_name
[SQL: SELECT recoder_state.id AS recoder_state_id, recoder_state.entity_id AS recoder_state_entity_id, recoder_state.timestamp AS recoder_state_timestamp, recoder_state.state_name AS recoder_state_state_name, recoder_state.state AS recoder_state_state
FROM recoder_state
WHERE recoder_state.id = ?]
[parameters: ('eastmoney_stock_recorder',)]
(Background on this error at: http://sqlalche.me/e/14/e3q8)

@foolcage
Copy link
Member

@awfssv
把$zvt-home/data目录里面的zvt_zvt_info.db删掉就好。

记录状态的结构(其实现在用不到)有些变化,我下个版本对目前的recorder去除掉这个依赖吧,省得已经在用的引起麻烦。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants