我有一个过程,每10分钟产生一条新记录。一段时间以来,这很棒,但是现在async def loop(q):
from concurrent.futures import ThreadPoolExecutor
with ThreadPoolExecutor(max_workers=1) as executor:
loop = asyncio.get_event_loop()
while True:
# v must be processed in the same order as they are produced
v = await loop.run_in_executor(executor, q.get)
print(v)
返回30k +条记录,这是不必要的,因为其目的仅仅是在图表上显示它们。
因此,作为一个简单的解决方案,我想提供过去24小时内生成的所有可用数据,但要提供过去24小时之前的低分辨率数据(每100条记录)(直接回到数据集的开头) 。
我怀疑解决方案是this答案的组合,该答案选择每n条记录(但在2010年提供),而this答案则组合了两个ActiveRecord对象
但是我无法弄清楚如何获得将所有必需数据都获取到一个实例变量中的有效实现
答案 0 :(得分:2)
您可以使用OR
查询:
Datum.where("created_at>?", 1.day.ago).or(Datum.where("id%100=0"))