apscheduler 绿色版
生活随笔
收集整理的這篇文章主要介紹了
apscheduler 绿色版
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
由于依賴EntryPoint,因此apscheduler在離線的方式(直接拷貝然后引用)使用時,會報錯。
錯誤信息類似: No trigger by the name “interval/cron/date” was found
原因:
基類的構造函數依賴于EntryPoint, 如下:
class BaseScheduler(six.with_metaclass(ABCMeta))://..._trigger_plugins = dict((ep.name, ep) for ep in iter_entry_points('apscheduler.triggers'))?
也就是說,想啥都不用改直接用,必需pip/easy_install來安裝。
?
破解如下, 修改BaseScheduler 的類變量 _trigger_plugins
from apscheduler.triggers.cron import CronTrigger from apscheduler.triggers.date import DateTrigger from apscheduler.triggers.interval import IntervalTrigger class BaseScheduler(six.with_metaclass(ABCMeta)):#_trigger_plugins = dict((ep.name, ep) for ep in iter_entry_points('apscheduler.triggers'))_trigger_plugins ={'cron':CronTrigger, 'date':DateTrigger, 'interval':IntervalTrigger}?
同時修改_create_plugin_instance方法, 將
plugin_cls = class_container[alias] = plugin_container[alias].load()改為
plugin_cls = class_container[alias] = plugin_container[alias]#.load()如此,便將apscheduler變成了綠色免安裝庫。
?
為何這個lib要利用EntryPoint?有何好處?
一般EntryPoints的集合行成統一的“注冊表”,方便應用間的簡單調用(無需關注太多細節)。
因此可以用來制作插件 。 (但缺點是必需通過pip/easy_install安裝。)
apscheduler使用plugin調用自身的注冊信息,此處看不明白。
?
轉載請注明本文來源:http://www.cnblogs.com/Tommy-Yu/p/5607841.html,謝謝!
轉載于:https://www.cnblogs.com/Tommy-Yu/p/5607841.html
總結
以上是生活随笔為你收集整理的apscheduler 绿色版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取图片中感兴趣区域的信息(Matlab
- 下一篇: 自定义注解入门