python异步任务

Posted xiejunna

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python异步任务相关的知识,希望对你有一定的参考价值。

需求及场景:
在查询进度值接口中,客户端会几秒钟获取一次进度值,但如果,客户端关闭,就不在主动查询进度值了。python脚本在调用启动任务脚本后,开始查询进度值,那么在调用启动脚本后,用异步函数,实现n秒钟查询一次更新中的进度值,进度完成后,更新状态到数据库,以备下次客户端获取某条数据的状态。
异步函数demo实现如下:

# -*- coding:utf-8 -*-
from threading import Thread


# 自定义装饰器
def my_async(fn):
    def wrapper(*args, **kwargs):
        Thread(target=fn, args=args, kwargs=kwargs).start()
    return wrapper


# 自定义装饰器
@my_async
def get_data():
    return 'async_data'


def get_name():
    return 'zhang_san'


if __name__ == '__main__':
	print(get_data())
    print(get_name())
    print('1')
    print('2')
    print('3')
    print('4')
    print('5')


# 执行结果
zhang_san
1
2
3
4
5
async_data

以上是关于python异步任务的主要内容,如果未能解决你的问题,请参考以下文章

Android 我应该在异步任务中将片段作为弱引用传递吗?

异步任务片段背景数据

我应该在 Fragment 中的啥生命周期状态下执行异步任务?

当片段视图加载是异步任务的一部分时,如何在片段加载之前显示进度条?

csharp 线程和异步任务片段

在 TabLayout 和 ViewPager2 中执行异步任务后更新具有相同布局的多个片段