Python 中的简单调度程序安装介绍附加内容

2025-06-04

Python 中的简单调度程序

安装

介绍

额外奖励

我们在生活中都会遇到想要自动化的事情,设置提醒和时间表就是其中之一。Python

使所有开发人员可以轻松制作小型 Python 脚本,为您安排一些无聊的事情。

这里有一个很棒的库,叫做“schedule”

(这个名字真棒 😉)

让我们先来玩一下这个

安装

首先让我们先安装 python 包



pip install schedule  


Enter fullscreen mode Exit fullscreen mode

介绍

Schedule是一个用于周期性作业的进程内调度程序,它使用构建器模式进行配置。Schedule 允许你使用简单易用的语法,按照预定的时间间隔定期运行 Python 函数(或任何其他可调用函数)。

适用于人类的 Python 作业调度。

现在我们先不要担心进程内调度

是什么 ,让我们来写一些代码



import schedule  

def job():  
    print("A Simple Python Scheduler.")  

# run the function job() every 2 seconds  
schedule.every(2).seconds.do(job)  

while True:  
    schedule.run_pending()  


Enter fullscreen mode Exit fullscreen mode

上述代码A Simple Python Scheduler.每 2 秒打印一次。

调度程序

让我们逐行理解

  • import schedule
    这不需要解释,只需导入要使用的包即可。

  • def job()
    这是我们想要按照计划执行的功能。

  • schedule.every(2).seconds.do(job)
    这就是奇迹发生的地方。Scheduler.every()

    方法 创建并返回一个作业,该方法还定义了作业的间隔(以时间单位 表示),此处的间隔以秒为单位*。do ()指定每次作业运行时应调用的 job_func。 任何附加参数都会在作业运行时传递给 job_func。也就是说,该语句会报错, 而使用






    schedule.every(2).seconds.do(job(argument))


    schedule.every(2).seconds.do(job, arg1, arg2)

  • schedule.run_pending()
    run_pending() 只会运行所有已安排运行的作业。
    请确保循环运行该函数,以确保调度任务始终保持运行。

好极了,我们用 Python 编写了我们的第一个调度程序
欢呼

其他变体



import schedule
import time

def job():
    print("I'm working...")

def job2():
    print("yo boiss..")

def job3():
    print("Hello")

schedule.every(5).seconds.do(job)
# some other variations 
schedule.every().hour.do(job)
schedule.every().day.at("12:25").do(job)
schedule.every(5).to(10).minutes.do(job)
schedule.every().thursday.at("19:15").do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().minute.at(":17").do(job)
schedule.every(2).seconds.do(job2)

while True:
    schedule.run_pending()
    time.sleep(1)


Enter fullscreen mode Exit fullscreen mode

以上是一些我们可以安排作业的其他方法

  • schedule.every().hour.do(job)

    job()每小时执行一次该函数

  • schedule.every().day.at("12:25").do(job)

    job()将在每天下午 12:25 执行该功能,
    默认情况下计划使用 24 小时格式。

  • schedule.every().wednesday.at("13:15").do(job)

    job()每周三下午 1:15执行。
    您还可以指定日期来运行特定任务。
    请参阅可用任务列表。

  • schedule.every(2).to(5).minutes.do(job3)

    这个job3()每 2 到 5 分钟执行一次;)

额外奖励

是啊

所以现在您可以安排事情了,
如果您可以提醒自己做一些事情会怎么样?

smtplib来救援。

使用smtplib它可以发送电子邮件(但电子邮件会被归入垃圾邮件文件夹🙃)

这是一个使用 python 发送电子邮件的简单脚本



import smtplib


def sendEmail(sender_email, password, to, subject, msg):
    try:
        server = smtplib.SMTP('smtp.gmail.com', 587)
        server.starttls()
        server.login(sender_email, password)

        message = f'From: {sender_email}\nTo: {to}\nSubject: {subject}\n\n{msg}'
        print(message)

        server.sendmail(sender_email, to, message)
        server.quit()
        print("Email Sent")
    except:
        print("Some Error Occured")

if __name__ == '__main__':
    SENDER_EMAIL = "youremail@xyz.com"
    PASSWORD = "password"
    TO = "yourfrnds@email.com"
    SUBJECT = "Just having fun"
    MESSAGE = "hey dawg! it's my first Email"
    sendEmail(SENDER_EMAIL, PASSWORD, TO, SUBJECT, MESSAGE)



Enter fullscreen mode Exit fullscreen mode

现在去检查你的垃圾邮件文件夹😜

希望你喜欢这篇文章😄

看起来很有趣?订阅🚀以阅读更多此类精彩内容,或者直接在Twitter上与我联系。

文章来源:https://dev.to/bhupesh/a-simple-scheduler-in-python-49di
PREV
开发者互联网
NEXT
提高开发人员效率的 10 个技巧