异步定时器支持。

aio-timers的Python项目详细描述


AIO计时器

PyPI - LicensePyPI - Python VersionPyPI

基于asyncio的计时实用程序。

设置

pip install aio-timers

用法

importasynciofromaio_timersimportTimerdefcallback(name):print("Hello {}!".format(name))# timer is scheduled heretimer=Timer(5,callback,callback_args=("World",))# wait until the callback has been executedloop=asyncio.get_event_loop()loop.run_until_complete(timer.wait())print("end")

输出:

(5秒后)

Hello World!

end

计时器

delay秒后调用callback

计时器作为事件循环上的任务执行。

调用回调:

  • 如果不是协程,则作为同步函数;
  • 如果它是一个协程,或者callback_async标志设置为True,则使用wait。

将忽略回调返回的任何结果。

构造函数

Timer(delay, callback, callback_args=(), callback_kwargs={}, callback_async=False, *, loop=None)

其中:

  • 延迟,在执行callback之前的秒数;
  • 回调,在delay秒后执行的回调
  • 回调参数(可选,默认值为())要传递给callback
  • 要传递给callback
  • 回调异步(可选,默认值为False)如果True,则回调将在事件循环上执行(await
  • 循环(可选,默认值为None)事件循环,在该事件循环中,将计划延迟的任务(如果None将使用asyncio.get_event_loop()

注意:在修饰协同程序时(例如,使用functools.partial)应该使用callback_async标志

.cancel()

取消回调的执行。

异步等待()

等待回调被执行或其执行被取消。

如果已取消执行,将引发asyncio.CancelledError

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

推荐PyPI第三方库


热门话题
java Wildfly 8.2远程处理打开的通道太多   java如何为StringBuffer(“+”+“+”)分配内存   java从特定sql语句获取true(1)或false(0)   在Java中使用自定义权限   java Hashmap Json保存和加载   Android中的java地图视图   java如何获得正确的AWS可用性区域?   java从字符串中删除HashMap键   有没有一种简单的方法可以读取Java中的XML文件?   java ORMLite如何使用两个日期列进行查询,其中一个为空或小于另一个   使用java将带有动态字段的json文件反序列化到类中   当单元格包含空值时从excel获取数据的java   java在线程中实现runnable接口并使用此关键字   java为什么我会在这里遇到例外?