1

私は単純な関数のセットを持っていfooますbar. barタスク/機能が正常に完了した後にのみ、2 番目のジョブを実行したいと考えていますfoo

現在、私はグローバル変数を使用してこれを行っています。

from apscheduler.scheduler import Scheduler

success = 0

def foo():
    global success
    try:
        print 'yes'
    except:
        success = 0
        return
    success = 1
    return

def bar():
    if success:
        print 'yes'
    else:
        print 'no'
    return

scheduler = Scheduler()
scheduler.add_cron_job(foo, day_of_week='mon-fri', hour=18, minute=30);
scheduler.add_cron_job(bar, day_of_week='mon-fri', hour=18, minute=45)
scheduler.start()

で条件付きタスクを実行するより良い方法はありapschedulerますか?

4

1 に答える 1

1

成功した場合、foo() から 15 分後に bar() の新しい実行をスケジュールします。

そのようです:

from datetime import datetime, timedelta

def foo():
    print 'yes'
    scheduler.add_date_job(bar, datetime.now() + timedelta(minutes=15))
于 2015-05-13T12:24:14.060 に答える