2017-04-17 45 views
0

我需要在我的mysql數據庫中存儲apscheduler的所有作業,所以apscheduler應該每隔5分鐘檢查一次,如果存在一些新作業並啓動它們,或者刪除某些作業是從db中刪除的。問題是,我不明白,如何存儲作業會更好(例如,某些作業可能是cron,有些作業可能是間隔觸發器,因此它們會有不同的時間設置)。據我瞭解,apscheduler支持在作業存儲中存儲作業並擁有SQLAlchemyJobStore。在每個文檔中都只有示例,其中apscheduler將其作業存儲爲db。但我需要它從我的數據庫中獲取工作。 問題是,是否有一種方法可以將作業存儲在數據庫中,這樣apscheduler就可以輕鬆地抓取它們,並且我不需要在表格中爲job_name,trigger,start_date等創建20列。如何在MySQL數據庫中存儲APScheduler的作業?

+1

你的問題沒有解釋你有什麼問題與此。通過向商店提供URL到數據庫,您已經使用了自己的數據庫。你問「如何在db中存儲作業」,這就是所有的SQLAlchemyJobStore!那20列左右是什麼? SQLAlchemyJobStore只在其表中使用3列。 –

+0

@AlexGrönholm我需要將作業添加到apscheduler之外的數據庫中,然後我的腳本應該將這些作業添加到apscheduler。 – mrser

+0

那麼APScheduler如何知道什麼時候從睡夢中醒來並檢查? –

回答

2

您應該考慮通過某些RPC服務使調度程序可用,而不是將行手動插入表中。這個例子可以在here找到。這將抽象出實施細節,並有更多的未來證明。

相關問題