为相关类和函数提供资源

cs.resources的Python项目详细描述


发布日期20190812: multiopenmixin:不再是cs.obj.o的子类。 multiopenmixin:removelockparam支持,mixin有自己的锁。 multiopen:droplockparam支持,不再由multiopenmixin使用。 multiopenmixin:在锁内完成与关闭相同的原因(与open/startup竞争)。 multiopenmixin.close:newunopened_ok=false用于回调关闭的参数,即使没有发生初始打开,也可能会触发回调关闭。

资源管理类和功能。

closederror

mro:内置异常内置异常
关闭时操作无效的例外。

multiopen

mro:multiopenmixin
管理单个打开/关闭对象的上下文管理器类 使用多openmixin。

方法multiopen.\uu init(self,openable,finalize\u later=false)

初始化:保存可打开的并调用multiopenmixin初始化器。

multiopenmixin

一个mixin,用于计算打开和关闭调用以及调用。startup 在第一个。打开并呼叫。在最后一个关闭。关闭。

建议的子类实现尽可能少地执行 在初始化期间,并在启动期间进行几乎所有的设置,以便 类可以执行多次启动/关闭迭代。

如果用作上下文管理器,则从 输入(第页)和退出(第页)。

多线程安全。

这个mixin定义了。_lock=rlock();子类不需要 麻烦,但可能会提供自己的锁。

使用此mixin的类需要定义.startup和.shutdown。

方法multiopenmixin.\uu init(self,finalize\u later=false)

初始化multiopenmixin状态。

参数:

  • 稍后完成:不要在 关闭,需要单独调用.finalize()。 此模式对于对象(如队列)非常有用,其中 最后一次关闭会阻止进一步的操作。发出呼叫,但用户 正在调用。join可能需要等待所有排队的项 待处理。
  • 子笔:如果为true(默认为false),则.open将返回 具有自己的.closed属性的代理对象,该属性由 代理服务器。关闭。

功能未关闭(func)

用.closed属性包装对象方法的decorator 它应该在自行关闭时升起。

mro:cs.obj.o
一个通用的对象池,前提是重用比娱乐便宜。

所有池对象都必须适合使用,因此 new_objectcallable通常是一个闭包。 例如,下面是使用 不同会话:

def __init__(self, bucket_name):
    Pool.__init__(self, lambda: boto3.session.Session().resource('s3').Bucket(bucket_name)

方法pool.\uu init(self,new_object,max_size=none,lock=none)

使用creatornew_object和maximum sizemax_size初始化池

参数:

  • new_object是一个可调用的对象,它返回池的新对象。
  • 最大大小:保存以供重用的可用对象池的最大大小。 如果省略或无,则默认为4。 如果为0,则不应用上限。
  • :可选共享锁;如果省略或则分配新锁

运行状态

跟踪可能被请求取消的正在运行的任务的类。

它的目的是双重的,提供容易查询的状态 围绕可以启动和停止的任务,并提供控制 方法声明任务已启动(.start), 应该停止(。取消) 已经停止(.stop)。

a运行状态可用于a context管理器,按enter键 以及分别调用.start.stop的退出方法。 请注意,如果套件引发异常 然后exit方法还调用。在调用之前取消。停止

监视器或守护进程可以轮询运行状态 它们应该终止,还可以管理整个状态 很容易使用上下文管理器。 例子:

def monitor(self):
    with self.runstate:
        while not self.runstate.cancelled:
            ... main loop body here ...

a运行状态有三种主要方法:

  • .start():设置。运行并清除。已取消
  • .cancel():设置。取消
  • .stop():清除。运行

a运行状态具有以下属性:

  • 已取消:如果调用了,则为true。取消已被调用。
  • 正在运行:如果任务正在运行,则为true。 此外,为它指定一个真值也会将.start_time设置为now。 为其指定一个假值也会将"停止时间"设置为"现在"。
  • 开始时间:运行的时间上次设置为true。
  • 停止时间:上次将运行时间设置为false。
  • 运行时间最大值(0,.停止时间-.开始时间)
  • 已停止:如果任务未运行,则为true。
  • 停止:如果任务正在运行但已取消,则为true。
  • notify_start:用运行状态实例调用的一组可调用函数 每当运行时调用。变为真。
  • notify_end:用运行状态实例调用的一组可调用函数 在时调用。运行变为false。
  • notify\u cancel:用运行状态实例调用的一组可调用函数 在调用时调用。取消

runstatemixin

mixin提供对运行状态的方便访问

提供:。运行状态。已取消。正在运行。正在停止。已停止

方法runstatemixin.\uu init(self,runstate=none)

初始化runstatemixin;设置.runstate属性。

运行状态运行状态实例或名称。 如果astr,则分配具有该名称的新runstate

发布日志

发布日期20190812: multiopenmixin:不再是cs.obj.o的子类。 multiopenmixin:removelockparam支持,mixin有自己的锁。 multiopen:droplockparam支持,不再由multiopenmixin使用。 multiopenmixin:在锁内完成与关闭相同的原因(与open/startup竞争)。 multiopenmixin.close:newunopened_ok=false用于回调关闭的参数,即使没有发生初始打开,也可能会触发回调关闭。

发布日期20190617: 运行状态。退出:如果在调用.stop()之前引发异常,请调用.canel()。

发布日期20190103: 上下文管理器的错误修复。 多openmixin修复和更改。 运行状态改进。

发布日期20171024: 多openmixin最终确定逻辑和其他小逻辑修复和chec 用于跟踪或控制正在运行的任务的新类运行状态

版本20160828: 在distinfo中使用"install\u requires"而不是"requires"。

发布日期20160827: 中断更改:将NestingOpenCloseMixin重命名为MultiOpenMixin。 用于泛型对象重用的新池类。 各种小改进。

发布日期20150115: 第一次发布pypi。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java SimpleCursorAdapter删除值   java结束while循环条件   java检查设备是否连接到特定网络   java组织。冬眠MappingException找不到逻辑名称为annotation getter的列   为什么java邮件中会抛出此异常?   加载SDK时发生java Eclipse错误   返回奇怪输出的Java数组   JavaXStream和对象类序列化   将枚举列表传递给namedQuery后出现java非法转换异常。Hibernate中的setParameter()   java Android studio不允许我在字符串上使用开关?   有没有办法从Java程序访问存储在Chrome中的cookie   java在枚举中构造实例而不修改枚举类   java Blackberry JDE FieldChangeListener   java修复错误:未报告的异常InterruptedException   java Spring数据JPA:findAll(具有规范和可分页)在计数查询中失败