gpt4 book ai didi

python - 每天使用 twisted 重置 redis 键

转载 作者:IT王子 更新时间:2023-10-29 06:15:05 25 4
gpt4 key购买 nike

我正在使用 Twisted 引擎和 Redis。我需要每天清除一些 redis 键(在 12 点钟,以维护日常数据)。

我尝试使用 task.LoopingCall,效果很好。它会在 24 小时后清除 key ,但问题是,要执行此操作,我需要在 12 点启动引擎。所以 LoopingCall 可以设置为 24 小时。

与其在 12 点启动引擎,有没有更好的方法使用 twisted 和 redis 本身?

据我所知,我们可以使用 crone job 来完成此操作。但它好还是有其他选择?

最佳答案

假设您的意思是要在 本地时间 上午 12:00 清除这些 key ,首先您需要安装 tzlocal包裹:

$ pip install tzlocal

然后您可以计算到下一个时区的时间,如下所示:

from tzlocal import get_localzone

zone = get_localzone()

import datetime
now = datetime.datetime.now(zone)
next_midnight = (now.replace(hour=0, minute=0, second=0, microsecond=0) +
datetime.timedelta(days=1))

delta = then - now
until_next_midnight = delta.total_seconds()

最后,您可以在此时开始您的 LoopingCall,如下所示:

call = LoopingCall(...)
reactor.callLater(
until_next_midnight,
lambda: call.start(datetime.timedelta(days=1).total_seconds())
)

关于python - 每天使用 twisted 重置 redis 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23754407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com