2013-03-01 73 views
2

我試圖做一些非常複雜的事情。使用Windows盒子,我試圖讓腳本運行每半小時,週一至週五,上午9:00到下午7:00,跳過我定義爲「假期」的某些日期。我希望Python能夠自己運行這個腳本。我已經看過'apschedule',但似乎無法找到我需要的正確選項。如果無法通過Python實現這一點,我還能看到其他什麼解決方案?python腳本高級調度

順便說一下,截至目前,我運行Python 3.3,但願意降級,如果有必要。

回答

2

裝點你的工作,職能跳過特殊的日子:

from datetime import date 

def not_on(dates): 
    def noop(): pass 
    def decor(fn): 
     if date.today() in dates: 
      return noop 
     else: 
      return fn 
    return decor 


@not_on((date(2013, 03, 01),)) 
def job(): 
    print "yeah" 

然後就安排你的工作爲常規日期和完成。如果作業在特定的日期被調用,裝飾器將會跳過執行。

只是繼續使用apscheduler

+0

我可以使用相同的腳本使其僅在營業時間內運行嗎? – Weremole79 2013-03-03 00:13:01

+0

當然,只是用第二個裝飾者來裝飾它:'@ business_hours'看起來不錯。你可以將它們堆疊在一起。 – akira 2013-03-03 10:54:57