From ea160afd901cde3827c60fa9432fed20c47dc6ab Mon Sep 17 00:00:00 2001 From: jxxghp Date: Fri, 22 Sep 2023 14:42:11 +0800 Subject: [PATCH] =?UTF-8?q?fix=20CronTrigger.from=5Fcrontab=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E6=8D=95=E6=8D=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/plugins/cloudflarespeedtest/__init__.py | 31 ++++++++++++--------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/app/plugins/cloudflarespeedtest/__init__.py b/app/plugins/cloudflarespeedtest/__init__.py index 1f1b3964..b6461d78 100644 --- a/app/plugins/cloudflarespeedtest/__init__.py +++ b/app/plugins/cloudflarespeedtest/__init__.py @@ -84,20 +84,25 @@ class CloudflareSpeedTest(_PluginBase): if self.get_state() or self._onlyonce: self._scheduler = BackgroundScheduler(timezone=settings.TZ) - if self.get_state() and self._cron: - logger.info(f"Cloudflare CDN优选服务启动,周期:{self._cron}") - self._scheduler.add_job(func=self.__cloudflareSpeedTest, - trigger=CronTrigger.from_crontab(self._cron), - name="Cloudflare优选") + try: + if self.get_state() and self._cron: + logger.info(f"Cloudflare CDN优选服务启动,周期:{self._cron}") + self._scheduler.add_job(func=self.__cloudflareSpeedTest, + trigger=CronTrigger.from_crontab(self._cron), + name="Cloudflare优选") - if self._onlyonce: - logger.info(f"Cloudflare CDN优选服务启动,立即运行一次") - self._scheduler.add_job(func=self.__cloudflareSpeedTest, trigger='date', - run_date=datetime.now(tz=pytz.timezone(settings.TZ)) + timedelta(seconds=3), - name="Cloudflare优选") - # 关闭一次性开关 - self._onlyonce = False - self.__update_config() + if self._onlyonce: + logger.info(f"Cloudflare CDN优选服务启动,立即运行一次") + self._scheduler.add_job(func=self.__cloudflareSpeedTest, trigger='date', + run_date=datetime.now(tz=pytz.timezone(settings.TZ)) + timedelta(seconds=3), + name="Cloudflare优选") + # 关闭一次性开关 + self._onlyonce = False + self.__update_config() + except Exception as err: + logger.error(f"Cloudflare CDN优选服务出错:{str(err)}") + self.systemmessage.put(f"Cloudflare CDN优选服务出错:{str(err)}") + return # 启动任务 if self._scheduler.get_jobs():