如何在Python中实现时间事件调度器?

发布于 2024-08-14 05:22:25 字数 177 浏览 4 评论 0原文

在 python 中,如何实现一个在后台运行的线程(可能是在模块加载时),并在周一至周五上午 10 点到下午 3 点每分钟调用该函数。例如,应在

上午 10:01 调用该函数 上午 10:02 上午 10:03 。 。 2:59 PM

有什么指示吗?

环境:Django

谢谢

In python how to implement a thread which runs in the background (may be when the module loads) and calls the function every minute Monday to Friday 10 AM to 3 PM. For example the function should be called at:

10:01 AM
10:02 AM
10:03 AM
.
.
2:59 PM

Any pointers?

Environment: Django

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

怀念你的温柔 2024-08-21 05:22:25

Django 是一个服务器应用程序,仅对外部事件做出反应。

您应该使用像 cron 这样的调度程序来创建调用 django 应用程序的事件,或者调用管理子命令或者在某些特殊页面上执行 HTTP 请求。

Django is a server application, which only reacts to external events.

You should use a scheduler like cron to create events that call your django application, either calling a management subcommand or doing an HTTP request on some special page.

大海や 2024-08-21 05:22:25

threading.Timer 类很方便做这样的任务。但你必须自己计算间隔。

The threading.Timer class is convenient to do such tasks. But you have to compute interval yourself.

巴黎盛开的樱花 2024-08-21 05:22:25

请注意 django 如何影响线程(除非您使用的是 App Engine,而您无法执行低级别的操作),但是一旦您的线程运行,您就可以连续检查时间戳:

from datetime import time
from datetime import date
time_delta = 60
while True:
    end_time = time.time() + time_delta
    while time.time() < end_time:
        time.sleep(1)
    if date.today().weekday() in range(1,5):
        #do something baby

未测试,因此请先尝试一下。

Note sure how django affects threads (unless you're using App Engine where you can't do low level such), but once your thread is running you can continuously check timestamps:

from datetime import time
from datetime import date
time_delta = 60
while True:
    end_time = time.time() + time_delta
    while time.time() < end_time:
        time.sleep(1)
    if date.today().weekday() in range(1,5):
        #do something baby

Not tested, so take it for a spin first.

苍景流年 2024-08-21 05:22:25

这是一篇来自 google code 的关于在 cron 中调度任务的文章。

使用 Cron 安排任务

Here is an article about scheduling tasks in cron from google code.

Scheduling Tasks with Cron

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文