异步定时器支持。

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和Javascript之间共享常量   c#无法使用Gson反序列化字节[]   如果字符串是实十进制数字,则在Java中仅显示十进制数字   与Android Studio的java FireBase同步失败   web应用程序的Java Oracle数据库更改通知问题   数组中缺少整数的java嵌套循环   zos在z/os上以TOD格式(一天中的时间)转换Java时间戳   java JAXB未根据注释生成XML(JDK 1.7)   java使用Twitter4j和Geolocation查找在该地区发布推文的用户,但如何获取用户ID?   在Libgdx中实现简单运动模糊的java意外结果   java在Android数据库中插入另一个EditText值?   java标准偏差数组(我的算法错误)   java如何修复M1 Mac的Ant javascript标记?   java遍历树标记值的长度   java理解Springboot中的Cron,自动发送电子邮件   java如何将“Data.Json”文件从资产保存到内部存储器,然后将其用于读/写   java代码在编写FirstDuplicate方法时会遇到时间限制问题   java将HTML转换为PDF并将其添加到段落中   javascript css()未设置正文标记的背景属性