我有一个使用python创建电报机器人的个人项目。我想要的是用从数据库查询生成的动态答案回答任何问题。我不想为来自bot的每个请求创建数据查询,所以我的想法是生成一组数据( Dataframe ),然后bot可以从中获取答案。为了生成 Dataframe ,我希望每x分钟安排/重新加载查询脚本的一部分。我的目标是创建python脚本,它只能在查询数据时重新加载,而不必重新加载整个脚本。有没有办法做到这一点?示例代码:
tt = datetime.now()
dsn_tns = cx_Oracle.makedsn(----)
conn = cx_Oracle.connect(user=----, password=----, dsn=dsn_tns)
cursor = conn.cursor()
sql = ("""select *
from TABLE
WHERE REPORTDATE > to_date(:tt,'DD-MM-YYYY HH24:MI:SS')""")
param = {"tt": tt}
data = psql.read_sql(sql,conn)#,params = param)
conn.close()
x = 2314 #value from question via bot
answer = data[(data['number'] == x))]
我想定期重新加载的部分是从tt到conn.close()。
1条答案
按热度按时间exdqitrt1#
我不知道为什么您不想为每个bot请求重新运行查询,这会更有意义。如果不更新每个bot请求的数据,您可能也会丢失数据。
但是,您可以将tt和conn.close()之间的代码封装在一个可以设置为定期运行的函数中。