我正在爲Raspberry Pi編寫一個應用程序。應用程序必須運行定期任務,並通過socket.io連接到主服務器以從服務器獲取命令。我首選APscheduler來運行定期任務,因爲它能夠動態地控制任務間隔。我使用socketIO_client從服務器獲取cron語句並將它們應用於正在運行的任務。直到這一點,它的作品像魅力。然而我需要更多的功能。APScheduler一起使用cron和即時觸發器
在定期任務運行之間,我想通過socket.io服務器事件運行任務。在這個網站上我發現this問題和應用答案類似的問題。通常情況下,APscheduler非常聰明,在前一個任務完成之前,通過設置coalesce True和/或max_instances 1,不會運行任務。但是使用job.func()方法,即使前一個任務尚未完成,作業也會啓動。
基本上我想要的是定期運行一個函數,也能夠在服務器事件的間隔之間運行。如果工作開始或者cron或者服務器事件,那麼直到它完成新的工作應該通過。有沒有辦法做到這一點?
感謝您的回答 – CarnageTR