2015-07-02 30 views
1

我試圖找到一個包,可以做到在Python如下:安排時間和日期運行腳本

  • 添加/刪除指定的日期和時間
  • 添加/刪除它向調度

我已經看了:

+1

是否有一個原因,你想使用Python調度器vs本地提供的東西? crontab不支持特定日期,因此您需要使用其他實用程序或腳本才能使用它,但在Windows上,任務計劃程序將讓您安排在特定日期和時間運行腳本以及設置重複發生時間 – THK

+0

主機將成爲一個Linux盒子,它將嘗試在指定的日期和時間運行腳本,因此Windows不會成爲一種選擇。我正在嘗試使用python模塊,但我非常樂於提供實現上述內容的建議。 – Lacer

回答

2

您可以使用sched來做到這一點。

sched.add_job(job_func, trigger='interval', hours=3, start_date='2015-10-10 09:30', end_date='2015-11-10 09:30') 

您可以通過arguments進行觸發。這將從2015-10-10 09:30到2015-10-10 09:30每天運行3小時。 Interval trigger設置日期。你也可以交換幾個小時,幾個小時,幾天,等等希望這會有所幫助!

下面是使用apscheduler的一些示例。

from apscheduler.schedulers.blocking import BlockingScheduler 

sched = BlockingScheduler() 

@sched.scheduled_job('interval', seconds=60) 
def timed_job(): 
    print('This job is run every minute.') 

@sched.scheduled_job('cron', day_of_week='mon-fri', hour=17) 
def scheduled_job(): 
    print('This job is run every weekday at 5pm.') 

sched.start() 
+0

感謝您分享該片段。我對python相當陌生。有沒有可能展示如何使用它的工作示例?我仍然試圖瞭解如何閱讀他們的文檔。謝謝你的幫助。 – Lacer

+0

如果你得到apscheduler模塊,你可以做更多。這裏有一些使用它的小代碼。我編輯了一些代碼。 –

+1

您應該提到'apscheduler'不在stdlib中,因此需要像'pip install apscheduler'或'sudo apt-get install python-apscheduler'這樣的東西。 – jfs