由于依赖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,谢谢!

apscheduler 绿色版的更多相关文章

  1. premere cs4绿色版 安装 并且 视频导出 讲解

    最近室友,开始在玩视频剪辑,用的是 premere cs4 绿色版.让他遇到的最大问题也是我之前遇到的最大问题,就是视频导出. 所以我在这里上传一套自己的一点点经验吧. 接下来,我就总结一下 我是怎么 ...

  2. 绿色版的Linux.NET——“Jws.Mono”

    Linux.NET环境的搭建,不仅是一项比较耗时的事情,同时也是一项略显复杂繁琐的事情.特别是对于近期的几个Mono版本,由于官方所提供的源码包中出现代码文件的缺失,这总让我们的付出变得徒劳.另外一方 ...

  3. [软件推荐]快速文件复制工具(Limit Copy) V4.0 绿色版

    快速文件复制工具(Limit Copy)绿色版是一款智能变频超快复制绿色软件. 快速文件复制工具(Limit Copy)功能比较完善,除了文件复制还可以智能变频,直接把要复制的文件拖入窗口即可,无需手 ...

  4. VB6SP6极度精简兼容绿色版

    钟爱绿色小巧的软件.怀旧一下,整合了几个资源,做了一个VB6SP6极度精简绿色版. 压缩包大小5M. 网上的极度精简绿色版不是SP6的,特意在其基础上更新了SP6.不是单文件版,所谓单文件版不过是执行 ...

  5. plsql+绿色版oracle连接远程数据库配置及提示缺少msvcr71.dll解决方法

    之前一直用的sqldeveloper连接oracle数据库,这个免费而且也是官方出品,除了体积略大启动略慢外,也没什么不好的.. 一次偶然机会决定试一下plsql,整理一下安装资料,需要本地oracl ...

  6. 360随身WIFI程序单文件绿色版及网卡驱动(附使用感受)

    大家好,我是Colin,今天刚收到传说中的360WIFI,拿到手后马上就进行了测试.就做工而言,19.9的价格算是比较公道的,网卡很小,做工还可以,带磨砂质感,而且还提供了一个耳机插头,可以当挂件一样 ...

  7. mysql学习-windows下绿色版mysql安装问题解决办法

    1.下载绿色版mysql 从该地址http://dev.mysql.com/downloads/mysql/ 中选择windows的版本,选择下载. 2.将下载的压缩包解压. 3.将根目录下的my-d ...

  8. 【Vegas原创】Mysql绿色版安装方法

    所谓的绿色版,就是没有installer的MySQL,完全需要靠人工来操作,好处是,重装系统后,只要再做一次本次配置,即可使用. 具体操作方法: 1,设置系统环境变量, 在Path中添加 D:\mys ...

  9. Windows 64位 安装Oracle instantclient 官方绿色版和PL/SQL Developer 总结

    原文: http://blog.csdn.net/kimsoft/article/details/8751267 操作系统:Windows 7 64位旗舰 要求,安装PL/SQL Developer用 ...

随机推荐

  1. ES6标准

    1. ES6标准感觉越来越向传统语言靠拢了,以后写到ES6的标准都记录下: ,,]; // =>操作符 array.forEach(v => console.log(v)); 是不是简化了 ...

  2. ecshop网站搬家缓存无法更新

    问题描述: 1.后台产品列表能改,数据也能看到,前端就是不显示 2.缓存无法删除 3.网上其他方法都试过,还是不行 症状:是因为缓存无法删除,无法更新,只需要能重新更新缓存文件即可.网站搬家丢失tem ...

  3. msbuild

    https://msdn.microsoft.com/zh-cn/library/ms171466(v=vs.100).aspx

  4. linq 多表分组查询统计

    var q1 = from orderitem in q2 join pd in _iProductDetailContract.Entities on orderitem.ProductDetail ...

  5. JNDI全面总结

    JNDI全面总结原理: 在DataSource中事先建立多个数据库连接,保存在数据库连接池中.当程序访问数据库时,只用从连接池中取空闲状态的数据库连接即可,访问结束,销毁资源,数据库连接重新回到连接池 ...

  6. 创建守护进程步骤与setsid() -- linux deamon进程

    原创:http://www.cnblogs.com/mickole/p/3188321.html 一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且 ...

  7. 修改wampserver 默认localhost 和phpmyadmin 打开链接

    在wamp上 左键打开localhost 自定义端口的话 或者其他网址 需要以下修改(同样访问phpmyadmin修改也是这个地方) 修改文件路径 D:\wamp\wampmanager.tpl 搜索 ...

  8. OC-改错题

    1,类方法中不能访问成员变量 2,id后不能加*(因为id相当于NSObject *) 3,id类型的变量不能用点语法 4,类对象只能调用类方法,不能调用对象方法 .description #impo ...

  9. python 占位符 %s Format

    1.百分号方式 %[(name)][flags][width].[precision]typecode (name)      可选,用于选择指定的key flags          可选,可供选择 ...

  10. Linux下,telnet命令如何退出

    测试连接本地的memcached telnet 链接后是这样的: wangkongming@Vostro ~ $ telnet Trying 127.0.0.1... Connected to 127 ...