Jadual Kandungan
Ujian pantas
digunakan di sini, kodnya adalah seperti berikut
untuk menjalankan berbilang tugas, kodnya adalah seperti berikut
dan
Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan modul jadual dalam Python untuk melaksanakan tugas berjadual

Cara menggunakan modul jadual dalam Python untuk melaksanakan tugas berjadual

Apr 18, 2023 pm 02:38 PM
python sched

Ujian pantas

Mari kita lihat kes berikut dahulu. melalui Kod berikut

import sched
import time

def say_hello(name):
    print(f"Hello, world, {name}")

scheduler = sched.scheduler(time.time, time.sleep)

scheduler.enter(5, 1, say_hello, ("张三", ))
scheduler.run()
Salin selepas log masuk

Seterusnya, kami menggunakan kaedah

untuk melaksanakan operasi tugasan yang dijadualkan Parameternya ialah masa tunda, keutamaan tugas, fungsi pelaksanaan khusus dan parameter dalam fungsi pelaksanaan. Kod seperti di atas akan melaksanakan fungsi
import sched

scheduler = sched.scheduler()
Salin selepas log masuk

enter() selepas kelewatan selama 5 saat Sudah tentu, jika masa kelewatan adalah sama, kita boleh menetapkan keutamaan pelaksanaan tugas untuk menentukan susunan kaedah fungsi. dijalankan, contohnya Kod berikut say_hello()

adalah seperti kod di atas Walaupun masa tunda adalah sama, keutamaan kaedah

jelas lebih rendah daripada kaedah
import sched
import time

def say_hello(name):
    print(f"Hello, world, {name}")

def say_hello_2(name):
    print(f"Hello, {name}")

scheduler = sched.scheduler(time.time, time.sleep)

scheduler.enter(5, 2, say_hello, ("张三", ))
scheduler.enter(5, 1, say_hello_2, ("李四", ))
scheduler.run()
Salin selepas log masuk
, jadi. yang terakhir akan dilaksanakan terlebih dahulu.

say_hello()Penggunaan lanjutansay_hello_2()

Selain melambatkan pelaksanaan fungsi, kami juga boleh membuatnya dilaksanakan berulang kali Secara khusus, kodnya adalah seperti berikut

Di sini kami. buat yang baharu

Fungsi tersuai memanggil kaedah
import sched
import time

def say_hello():
    print("Hello, world!")

scheduler = sched.scheduler(time.time, time.sleep)

def repeat_task():
    scheduler.enter(5, 1, say_hello, ())
    scheduler.enter(5, 1, repeat_task, ())

repeat_task()
scheduler.run()
Salin selepas log masuk
untuk melaksanakan fungsi

yang ditakrifkan sebelum ini sekali setiap 5 saat repeat_task() scheduler.enter() Laksanakan tugas pada masa tetap say_hello()

Pada masa yang sama masa, kita juga boleh membiarkan tugasan dilaksanakan pada masa yang ditentukan Pelaksanaan masa, kaedah

digunakan di sini, kodnya adalah seperti berikut

scheduler.entertabs() Kami memasukkan parameter untuk melaksanakan tugas di masa yang ditentukan, iaitu, 5 saat dari sekarang

import sched
import time

def say_hello():
    print("Hello, world!")

scheduler = sched.scheduler(time.time, time.sleep)

# 指定时间执行任务
specific_time = time.time() + 5  # 距离现在的5秒钟之后执行
scheduler.enterabs(specific_time, 1, say_hello, ())

scheduler.run()
Salin selepas log masuk
Laksanakan berbilang tugas

Di sini kita masih memanggil kaedah

untuk menjalankan berbilang tugas, kodnya adalah seperti berikut

enter()Dua fungsi ditakrifkan di sini,

dan
import sched
import time

def task_one():
    print("Task One - Hello, world!")
    
def task_two():
    print("Task Two - Hello, world!")

scheduler = sched.scheduler(time.time, time.sleep)

# 任务一在两秒钟只有执行
scheduler.enter(2, 1, task_one, ())

# 任务二在五秒钟之后运行
scheduler.enter(5, 1, task_two, ())

scheduler.run()
Salin selepas log masuk
mengandungi logik pelaksanaan yang sama, mencetak "Hello, world!", kemudian

dilaksanakan selepas dua saat dan task_one dilaksanakan selepas 5 saat . Keutamaan pelaksanaan kedua-duanya adalah sama. task_twotask_one()Laksanakan tugas yang berbeza dengan keutamaan yang berbezatask_two()

Kali ini kami memberikan keutamaan yang berbeza untuk

dan

Lihatlah hasil pelaksanaan seperti berikut

task_one()<🎜. >outputtask_two()

import sched
import time

def task_one():
    print(&quot;Task One - Hello, world!&quot;)
    
def task_two():
    print(&quot;Task Two - Hello, world!&quot;)

scheduler = sched.scheduler(time.time, time.sleep)

# 优先级是1
scheduler.enter(2, 2, task_one, ())

# 优先级是2
scheduler.enter(5, 1, task_two, ())

scheduler.run()
Salin selepas log masuk
Task One - Hello, world!

Task Two - Hello, world!

Kod di atas akan dijalankan selepas jeda dua saat
fungsi, kemudian jeda selama 3 saat dan kemudian laksanakan fungsi

Tugas berjadual ditambah kaedah pembatalan task_one()task_two() Kami menambah kaedah pembatalan pada tugas yang dijadualkan, kodnya adalah seperti berikut

Kami membatalkan kaedah

yang akan dilaksanakan selepas dua saat Pada akhirnya, hanya kaedah

dilaksanakan dan "Task Two - Hello, world!"
import sched
import time

def task_one():
    print(&quot;Task One - Hello, world!&quot;)
    
def task_two():
    print(&quot;Task Two - Hello, world!&quot;)

scheduler = sched.scheduler(time.time, time.sleep)

# 任务一在两秒钟只有执行
task_one_event = scheduler.enter(2, 1, task_one, ())

# 任务二在五秒钟之后运行
task_two_event = scheduler.enter(5, 1, task_two, ())

# 取消执行task_one
scheduler.cancel(task_one_event)

scheduler.run()
Salin selepas log masuk

Program Sandaran Pelaksanaan task_one()task_two() Mari kita tulis skrip sandaran untuk membuat sandaran fail pada masa yang ditetapkan setiap hari Kodnya adalah seperti berikut

Kami melaksanakannya melalui. Kaedah

dalam modul

Salin fail, dan kemudian laksanakannya tepat pada masanya pada jam 1 setiap hari
import sched
import time
import shutil

def backup_files():
    source = &#39;路径/files&#39;
    destination = &#39;路径二&#39;
    shutil.copytree(source, destination)

def schedule_backup():
    # 创建新的定时器
    scheduler = sched.scheduler(time.time, time.sleep)

    # 备份程序在每天的1点来执行
    backup_time = time.strptime(&#39;01:00:00&#39;, &#39;%H:%M:%S&#39;)
    backup_event = scheduler.enterabs(time.mktime(backup_time), 1, backup_files, ())

    # 开启定时任务
    scheduler.run()

schedule_backup()
Salin selepas log masuk

Laksanakan program untuk pengedaran e-mel berjadualshutilcopytree()Akhir sekali, kami akan laksanakan program untuk pengedaran e-mel berjadual Kodnya adalah seperti berikut

Atas ialah kandungan terperinci Cara menggunakan modul jadual dalam Python untuk melaksanakan tugas berjadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kelebihan dan kekurangan templat? Apakah kelebihan dan kekurangan templat? May 08, 2024 pm 03:51 PM

Apakah kelebihan dan kekurangan templat?

Cara Muat turun DeepSeek Xiaomi Cara Muat turun DeepSeek Xiaomi Feb 19, 2025 pm 05:27 PM

Cara Muat turun DeepSeek Xiaomi

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Jul 01, 2024 am 07:22 AM

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun

Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3 Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3 May 06, 2024 pm 03:52 PM

Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang May 06, 2024 pm 02:00 PM

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang

Bagaimana anda bertanya kepadanya Deepseek Bagaimana anda bertanya kepadanya Deepseek Feb 19, 2025 pm 04:42 PM

Bagaimana anda bertanya kepadanya Deepseek

Bagaimana untuk menyimpan fungsi menilai Bagaimana untuk menyimpan fungsi menilai May 07, 2024 am 01:09 AM

Bagaimana untuk menyimpan fungsi menilai

See all articles