最近需要用python做日常處理,需要每天定時執行指定系統命令。
度娘是非常熱情的,排程問題給了很多方式,比如time、shedule。然後就是各種裝外掛程式,但執行各種失敗。呼叫jar包程式,給了各種方案,全部除錯不通過。折騰一天後,換成呼叫shell程式,終於在除錯了3個程式後就通過了。
import os
import time
import schedule
import threading
defjob()
: os.system(
"ls -al"
)#每隔十分鐘執行一次任務
schedule.every(5)
.seconds.do(job)
while
true
: schedule.run_pending(
) time.sleep(
1)
這個程式功能,就是模擬每隔5秒執行一次「ls -al」。
同時schedule還支援如下排程格式:
```python
#每隔十分鐘執行一次任務
schedule.every(10)
.minutes.do(job, name)
#每隔一小時執行一次任務
schedule.every(
).hour.do(job, name)
#每天的10:30執行一次任務
schedule.every(
).day.at(
"10:30"
).do(job, name)
#每隔5到10天執行一次任務
schedule.every(5)
.to(10)
.days.do(job, name)
#每週一的這個時候執行一次任務
schedule.every(
).monday.do(job, name)
#每週三13:15執行一次任務
schedule.every(
).wednesday.at(
"13:15"
).do(job, name)
這些內容也都是來自網上各個大俠的**,經過一些整理除錯。
還有兩個小坑:
1,python程式名字不要起做: shedule.py,以免無法呼叫shedule外掛程式庫。
2,使用pip install之後如果找不到,可將外掛程式目錄,新增到設定引數pythonpath
Spring Quartz定時排程
一 所需的jar包 二 定時排程的配置和使用 配置 quartz 2 建立任務類 public class quartztest 當專案啟動時,每兩分鐘 從每小時的0分0秒開始,隔兩分鐘再去執行一次,到每個小時的59分為止 就會去執行quartztest 類中在配置檔案指定的execute方法。三 ...
Spring 定時排程
一 spring提供兩種觸發器 1 每隔指定時間則觸發一次,在quartz中對應的觸發器為 org.springframework.scheduling.quartz.triggerbean 2 每到指定時間則觸發一次,在quartz中對應的觸發器為 org.springframework.sche...
Quartz定時排程
quartz定時排程 在包含了spring依賴包情況下加入quartz所依賴包 org.quartz schedulergroupid quartzartifactid 2.2.1version dependency spring用的4.0.2版本 需要注意的是quartz的版本區別 1.x系列的對...