HiveNetCore.parallel module

并发处理模块, 多线程、多进程支持

exception HiveNetCore.parallel.AlreadyRunning[源代码]

基类:Exception

已运行异常

exception HiveNetCore.parallel.CallOverTime[源代码]

基类:Exception

当执行超时时, 抛出该异常

class HiveNetCore.parallel.CoroutineSingleThread(deal_fun=None, event_loop=None)[源代码]

基类:object

单线程并发协程处理类

注: 在子线程中通过协程处理异步函数

__init__(deal_fun=None, event_loop=None) None[源代码]

单线程并发协程处理类

参数
  • deal_fun (function) – default=None, 默认的异步处理函数

  • event_loop (EventLoop) –

    default=None, 时间循环对象

    注: 可以通过asyncio.new_event_loop()获取, 如果不送入将自动获取

run_async_fun(async_fun, *args, **kwargs)[源代码]

执行特定异步处理函数

参数

async_fun (function) – 异步函数对象

run_coroutine(coroutine)[源代码]

运行协程对象

参数

coroutine (Coroutine) – 要运行的协程对象

run_deal_fun(*args, **kwargs)[源代码]

运行默认异步处理函数

exception HiveNetCore.parallel.NotRunning[源代码]

基类:Exception

未运行异常

class HiveNetCore.parallel.ParallelFw(deal_fun, run_args=None, run_kwargs=None, auto_start=False, pid='', pname='', lock=None, callback_fun=None, set_daemon=False, logger=None, is_use_global_logger=True, log_level=20, use_distributed_logger=False, distributed_logger_module_name='', distributed_logger_class_name='', distributed_logger_args=None, distributed_logger_kwargs=None, distributed_logger_replace_para=None, is_logger_to_deal_fun=False, **kwargs)[源代码]

基类:abc.ABC

并发处理框架类, 定义并发处理通用函数架构

参数
  • deal_fun (fuction) – 并发处理主函数, 按顺序入参, 可以有返回值

  • run_args (tuple) – default=None, 并发处理主函数的入参列表

  • run_kwargs (dict) – default=None, 并发处理主函数的动态入参列表

  • auto_start (bool) – default=False, 是否创建时自动发起并发任务

  • pid (string) – default=’’, 并发对象的id

  • pname (string) – default=’’, 并发对象的标识名

  • lock (ParallelLockFw) – default=None, 并发锁对象, 控制多个并发对象根据该锁控制单一处理

  • callback_fun (fuction) –

    default=None, 回调函数, 在执行完函数后执行, 定义如下

    fun(id, name, call_result, deal_fun_ret)

    id - 并发对象的id

    name - 并发对象的标识名

    call_result - 线程执行的结果, CResult对象, 如果执行无异常返回’00000’;

    如果发生异常, 返回’21399’, 并登记异常信息

    deal_fun_ret - deal_fun函数执行的返回值

  • set_daemon (bool) –

    default=False, 是否设置守护, 如果设置守护, 则在主进程中使用join方法等待所有并发完成,

    否则主进程结束后并发执行的结果不可预知;如果不设置守护, 主进程结束后并发任务仍会执行

  • logger (Logger) –

    default=None, 日志对象, 如果为None代表不需要输出日志, 传入对象需满足:

    1、标准logging的logger对象

    2、自定义的日志类对象, 但应实现info、warning、error等标准方法

  • is_use_global_logger (bool) –

    default=True, 当logger=None时, 是否使用全局logger对象

    注: 通过RunTool.set_global_logger进行设置

  • log_level (int) – default=logging.INFO, 打印日志的级别

  • use_distributed_logger (bool) –

    default=False, 是否使用分布式logger, 如果是, 则每个分布任务自行创建独立logger记录日志

    注: 对于多进程及分布式并发任务, 应采取该日志模式

  • distributed_logger_module_name (string) – default=’’, 分布式日志类模块名

  • distributed_logger_class_name (string) – default=’’, 分布式日志类类名

  • distributed_logger_args (tuple) – default=None, 分布式日志类创建参数

  • distributed_logger_kwargs (dict) – default=None, 分布式日志类创建参数

  • distributed_logger_replace_para (dict) –

    default=dict(), 分布式日志动态参数替换, 在每创建一个并发任务通过该参数修改日志参数

    key - 如果是int类型, 代表替换distributed_logger_args的第几个参数;如果是string, 代表替换distributed_logger_kwargs的指定参数

    value - 替换参数字典, key为要替换正则表达式字符, value为要替换的动态值

    要替换的动态值, 可选值有以下几种:

    ’pid’ - 并发任务id

    ’pname’ - 并发任务名

    ’pocess_id’ - 进程ID

    ’thread_id’ - 线程ID

  • is_logger_to_deal_fun (bool) –

    default=False, 是否传递并发任务logger到deal_fun中

    注意: 传递通过kwargs, 参数名为logger

  • kwargs (**kwargs) – 初始化参数, 具体参数定义参考具体实现类

__init__(deal_fun, run_args=None, run_kwargs=None, auto_start=False, pid='', pname='', lock=None, callback_fun=None, set_daemon=False, logger=None, is_use_global_logger=True, log_level=20, use_distributed_logger=False, distributed_logger_module_name='', distributed_logger_class_name='', distributed_logger_args=None, distributed_logger_kwargs=None, distributed_logger_replace_para=None, is_logger_to_deal_fun=False, **kwargs)[源代码]

并发对象初始函数

参数
  • deal_fun (fuction) – 并发处理主函数, 按顺序入参, 可以有返回值

  • run_args (tuple) – default=None, 并发处理主函数的入参列表

  • run_kwargs (dict) – default=None, 并发处理主函数的动态入参列表

  • auto_start (bool) – default=False, 是否创建时自动发起并发任务

  • pid (string) – default=’’, 并发对象的id

  • pname (string) – default=’’, 并发对象的标识名

  • lock (ParallelLockFw) – default=None, 并发锁对象, 控制多个并发对象根据该锁控制单一处理

  • callback_fun (fuction) –

    default=None, 回调函数, 在执行完函数后执行, 定义如下

    fun(id, name, call_result, deal_fun_ret)

    id - 并发对象的id

    name - 并发对象的标识名

    call_result - 线程执行的结果, CResult对象, 如果执行无异常返回’00000’;

    如果发生异常, 返回’21399’, 并登记异常信息

    deal_fun_ret - deal_fun函数执行的返回值

  • set_daemon (bool) –

    default=False, 是否设置守护, 如果设置守护, 则在主进程中使用join方法等待所有并发完成,

    否则主进程结束后并发执行的结果不可预知;如果不设置守护, 主进程结束后并发任务仍会执行

  • logger (Logger) –

    default=None, 日志对象, 如果为None代表不需要输出日志, 传入对象需满足:

    1、标准logging的logger对象

    2、自定义的日志类对象, 但应实现info、warning、error等标准方法

  • is_use_global_logger (bool) –

    default=True, 当logger=None时, 是否使用全局logger对象

    注: 通过RunTool.set_global_logger进行设置

  • log_level (int) – default=logging.INFO, 打印日志的级别

  • use_distributed_logger (bool) –

    default=False, 是否使用分布式logger, 如果是, 则每个分布任务自行创建独立logger记录日志

    注: 对于多进程及分布式并发任务, 应采取该日志模式

  • distributed_logger_module_name (string) – default=’’, 分布式日志类模块名

  • distributed_logger_class_name (string) – default=’’, 分布式日志类类名

  • distributed_logger_args (tuple) – default=None, 分布式日志类创建参数

  • distributed_logger_kwargs (dict) – default=None, 分布式日志类创建参数

  • distributed_logger_replace_para (dict) –

    default=dict(), 分布式日志动态参数替换, 在每创建一个并发任务通过该参数修改日志参数

    key - 如果是int类型, 代表替换distributed_logger_args的第几个参数;如果是string, 代表替换distributed_logger_kwargs的指定参数

    value - 替换参数字典, key为要替换正则表达式字符, value为要替换的动态值

    要替换的动态值, 可选值有以下几种:

    ’pid’ - 并发任务id

    ’pname’ - 并发任务名

    ’pocess_id’ - 进程ID

    ’thread_id’ - 线程ID

  • is_logger_to_deal_fun (bool) –

    default=False, 是否传递并发任务的logger到deal_fun中

    注意: 传递通过kwargs, 参数名为logger

  • kwargs (**kwargs) – 初始化参数, 具体参数定义参考具体实现类

force_stop(**kwargs)[源代码]

强制中止并行任务

参数

kwargs (**kwargs) – 处理参数, 具体参数定义参考具体实现类

property is_running

检查任务是否正在执行

@property {bool}

join(overtime=0, **kwargs)[源代码]

阻塞等待并发任务完成

参数
  • overtime (number) – 超时时间, 单位为秒, 如果超时则抛出异常

  • kwargs (**kwargs) – 处理参数, 具体参数定义参考具体实现类

引发

CallOverTime – 当设置了超时时间且执行超时时, 抛出该异常

classmethod replace_distributed_logger_para_str(value, replace_para_dict, value_para)[源代码]

单个字符串执行替换处理

参数
  • value (string) – 字符串

  • replace_para_dict (dict) – 替换参数字典

  • value_para (dict) – 取值参数

返回

替换后的值

返回类型

string

start(run_args=None, run_kwargs=None, **kwargs)[源代码]

执行并发任务

参数
  • run_args (tuple) – default=None, 启动时重新指定执行参数, 如果为None代表按初始化的参数执行

  • run_kwargs (dict) – default=None, 启动时重新指定执行参数, 如果为None代表按初始化的参数执行

  • kwargs (**kwargs) – 处理参数, 具体参数定义参考具体实现类

引发

AlreadyRunning – 当任务已经在执行状态, 将抛出该异常

class HiveNetCore.parallel.ParallelLockFw(**kwargs)[源代码]

基类:abc.ABC

并发锁框架类, 定义各类并发技术的通用函数架构

参数

kwargs (**kwargs) – 初始化参数, 具体参数定义参考具体实现类

__init__(**kwargs)[源代码]

构造函数, 初始化锁对象

参数

kwargs (**kwargs) – 初始化参数, 具体参数定义参考具体实现类

acquire(**kwargs)[源代码]

获取并发锁

参数

kwargs (**kwargs) – 处理参数, 具体参数定义参考具体实现类

release(**kwargs)[源代码]

释放并发锁

参数

kwargs (**kwargs) – 处理参数, 具体参数定义参考具体实现类

class HiveNetCore.parallel.ParallelPool(deal_fun, parallel_class=None, run_args=None, run_kwargs=None, pname='', lock=None, callback_fun=None, logger=None, is_use_global_logger=True, log_level=20, use_distributed_logger=False, distributed_logger_module_name='', distributed_logger_class_name='', distributed_logger_args=None, distributed_logger_kwargs=None, distributed_logger_replace_para=None, is_logger_to_deal_fun=False, auto_start=False, auto_stop=False, task_queue=None, get_task_num_fun=None, get_task_num_fun_args=None, maxsize=10, minsize=0, worker_release_time=10, worker_overtime=0, force_kill_overtime_worker=False, replace_overtime_worker=False, daemon_thread_time=0.01, sharedict_class=None, parallel_lock_class=None, **kwargs)[源代码]

基类:object

并发任务池(线程池、进程池)

参数
  • deal_fun (fuction) –

    并发任务处理主函数, 按顺序入参, 可以有返回值

    注: 该函数内部需自行实现获取数据并处理的流程, 但约定如果无处理数据, 函数应返回None(用于并发池判断是否释放任务)

  • parallel_class (ParallelFw) –

    default=None, 并行任务类定义对象, 获取方法如下:

    (1)import对象后, 直接取类名: parallel_class=ThreadParallel

    (2)未import的对象, 使用ImportTool的方式:

    parallel_class=getattr(ImportTool.import_module(‘HiveNetCore.parallel’), ‘ThreadParallel’)

    (3)已有动态的对象, 直接取对象的所属类: parallel_class=obj.__class__

  • run_args (tuple) – default=None, 并发任务处理主函数的入参列表

  • run_kwargs (dict) – default=None, 并发任务处理主函数的动态入参列表

  • pname (string) – default=’’, 并发任务处理主函数的标识名

  • lock (ParallelLockFw) – default=None, 并发锁对象, 控制多个并发对象根据该锁控制单一处理

  • callback_fun (fuction) –

    default=None, 回调函数, 在执行完函数后执行, 定义如下

    fun(id, name, call_result, deal_fun_ret)

    id - 并发对象的id

    name - 并发对象的标识名

    call_result - 线程执行的结果, CResult对象, 如果执行无异常返回’00000’;

    如果发生异常, 返回’21399’, 并登记异常信息

    deal_fun_ret - deal_fun函数执行的返回值

  • logger (Logger) –

    default=None, 日志对象, 如果为None代表不需要输出日志, 传入对象需满足:

    1、标准logging的logger对象

    2、自定义的日志类对象, 但应实现info、warning、error等标准方法

  • is_use_global_logger (bool) –

    default=True, 当logger=None时, 是否使用全局logger对象

    注: 通过RunTool.set_global_logger进行设置

  • log_level (int) – default=logging.INFO, 打印日志的级别

  • use_distributed_logger (bool) –

    default=False, 是否使用分布式logger, 如果是, 则每个分布任务自行创建独立logger记录日志

    注: 对于多进程及分布式并发任务, 应采取该日志模式

  • distributed_logger_module_name (string) – default=’’, 分布式日志类模块名

  • distributed_logger_class_name (string) – default=’’, 分布式日志类类名

  • distributed_logger_args (tuple) – default=None, 分布式日志类创建参数

  • distributed_logger_kwargs (dict) – default=None, 分布式日志类创建参数

  • distributed_logger_replace_para (dict) –

    default=dict(), 分布式日志动态参数替换, 在每创建一个并发任务通过该参数修改日志参数

    key - 如果是int类型, 代表替换distributed_logger_args的第几个参数;如果是string, 代表替换distributed_logger_kwargs的指定参数

    value - 替换参数字典, key为要替换正则表达式字符, value为要替换的动态值

    要替换的动态值, 可选值有以下几种:

    ’pid’ - 并发任务id

    ’pname’ - 并发任务名

    ’pocess_id’ - 进程ID

    ’thread_id’ - 线程ID

  • is_logger_to_deal_fun (bool) –

    default=False, 是否传递并发任务logger到deal_fun中

    注意: 传递通过kwargs, 参数名为logger

  • auto_start (bool) – default=False, 是否自动启动并发池

  • auto_stop (bool) – default=False, 是否自动关闭并发池(当任务都已全部完成处理)

  • task_queue (QueueFw) –

    default=None, 并发池需要处理的任务队列

    注: 如果有指定队列, get_task_num_fun参数无效, 则自动根据队列长度检查待处理任务

  • get_task_num_fun (function) –

    default=None, 获取待处理任务数量的函数

    注: 如果task_queue和get_task_num_fun均为None, 则直接创建最大数量的线程数, 且不释放空闲任务

  • get_task_num_fun_args (list) – default=None, 获取待处理任务数量的函数, 的入参列表

  • maxsize (int) – default=10, 并发池最大并发对象数

  • minsize (int) – default=0, 并发池最小并发对象数

  • worker_release_time (number) – default=10, 空闲工作并发对象释放时间, 单位为秒, 0代表不控制空闲释放

  • worker_overtime (number) –

    default=0, 正在执行的任务超时时间(秒), 0代表不控制超时

    注: 对于超时执行任务, 将视为失效任务, 可以选择直接忽略或强制中止

  • force_kill_overtime_worker (bool) – default=False, 是否强制中止失效任务

  • replace_overtime_worker (bool) –

    default=False, 是否创建新任务替代超时任务

    注: 仅当force_kill_overtime_worker=False时才会进行替代

  • daemon_thread_time (number) – default=0.01, 守护线程的间隔时间

  • sharedict_class (ParallelShareDictFw) –

    default=None, 进程间共享字典对象的类对象, 获取方法参考parallel_class:

    sharedict_class=ThreadParallelShareDict

  • parallel_lock_class (ParallelLockFw) –

    default=None, 进程间锁对象的类对象, 获取方法参考parallel_class:

    parallel_lock_class=ThreadParallelLock

  • kwargs (**kwargs) – 并行任务类对应的初始化参数, 具体参数定义参考具体实现类

__init__(deal_fun, parallel_class=None, run_args=None, run_kwargs=None, pname='', lock=None, callback_fun=None, logger=None, is_use_global_logger=True, log_level=20, use_distributed_logger=False, distributed_logger_module_name='', distributed_logger_class_name='', distributed_logger_args=None, distributed_logger_kwargs=None, distributed_logger_replace_para=None, is_logger_to_deal_fun=False, auto_start=False, auto_stop=False, task_queue=None, get_task_num_fun=None, get_task_num_fun_args=None, maxsize=10, minsize=0, worker_release_time=10, worker_overtime=0, force_kill_overtime_worker=False, replace_overtime_worker=False, daemon_thread_time=0.01, sharedict_class=None, parallel_lock_class=None, **kwargs)[源代码]

构造函数, 创建任务池

参数
  • deal_fun (fuction) –

    并发任务处理主函数, 按顺序入参, 可以有返回值

    注: 该函数内部需自行实现获取数据并处理的流程, 但约定如果无处理数据, 函数应返回None(用于并发池判断是否释放任务)

  • parallel_class (ParallelFw) –

    default=None, 并行任务类定义对象, 获取方法如下:

    (1)import对象后, 直接取类名: parallel_class=ThreadParallel

    (2)未import的对象, 使用ImportTool的方式:

    parallel_class=getattr(ImportTool.import_module(‘HiveNetCore.parallel’), ‘ThreadParallel’)

    (3)已有动态的对象, 直接取对象的所属类: parallel_class=obj.__class__

  • run_args (tuple) – default=None, 并发任务处理主函数的入参列表

  • run_kwargs (dict) – default=None, 并发任务处理主函数的动态入参列表

  • pname (string) – default=’’, 并发任务处理主函数的标识名

  • lock (ParallelLockFw) – default=None, 并发锁对象, 控制多个并发对象根据该锁控制单一处理

  • callback_fun (fuction) –

    default=None, 回调函数, 在执行完函数后执行, 定义如下

    fun(id, name, call_result, deal_fun_ret)

    id - 并发对象的id

    name - 并发对象的标识名

    call_result - 线程执行的结果, CResult对象, 如果执行无异常返回’00000’;

    如果发生异常, 返回’21399’, 并登记异常信息

    deal_fun_ret - deal_fun函数执行的返回值

  • logger (Logger) –

    default=None, 日志对象, 如果为None代表不需要输出日志, 传入对象需满足:

    1、标准logging的logger对象

    2、自定义的日志类对象, 但应实现info、warning、error等标准方法

  • is_use_global_logger (bool) –

    default=True, 当logger=None时, 是否使用全局logger对象

    注: 通过RunTool.set_global_logger进行设置

  • log_level (int) – default=logging.INFO, 打印日志的级别

  • use_distributed_logger (bool) –

    default=False, 是否使用分布式logger, 如果是, 则每个分布任务自行创建独立logger记录日志

    注: 对于多进程及分布式并发任务, 应采取该日志模式

  • distributed_logger_module_name (string) – default=’’, 分布式日志类模块名

  • distributed_logger_class_name (string) – default=’’, 分布式日志类类名

  • distributed_logger_args (tuple) – default=None, 分布式日志类创建参数

  • distributed_logger_kwargs (dict) – default=None, 分布式日志类创建参数

  • distributed_logger_replace_para (dict) –

    default=dict(), 分布式日志动态参数替换, 在每创建一个并发任务通过该参数修改日志参数

    key - 如果是int类型, 代表替换distributed_logger_args的第几个参数;如果是string, 代表替换distributed_logger_kwargs的指定参数

    value - 替换参数字典, key为要替换正则表达式字符, value为要替换的动态值

    要替换的动态值, 可选值有以下几种:

    ’pid’ - 并发任务id

    ’pname’ - 并发任务名

    ’pocess_id’ - 进程ID

    ’thread_id’ - 线程ID

  • is_logger_to_deal_fun (bool) –

    default=False, 是否传递并发任务logger到deal_fun中

    注意: 传递通过kwargs, 参数名为logger

  • auto_start (bool) – default=False, 是否自动启动并发池

  • auto_stop (bool) – default=False, 是否自动关闭并发池(当任务都已全部完成处理)

  • task_queue (QueueFw) –

    default=None, 并发池需要处理的任务队列

    注: 如果有指定队列, get_task_num_fun参数无效, 则自动根据队列长度检查待处理任务

  • get_task_num_fun (function) –

    default=None, 获取待处理任务数量的函数

    注: 如果task_queue和get_task_num_fun均为None, 则直接创建最大数量的线程数, 且不释放空闲任务

  • get_task_num_fun_args (list) – default=None, 获取待处理任务数量的函数, 的入参列表

  • maxsize (int) – default=10, 并发池最大并发对象数

  • minsize (int) – default=0, 并发池最小并发对象数

  • worker_release_time (number) – default=10, 空闲工作并发对象释放时间, 单位为秒, 0代表不控制空闲释放

  • worker_overtime (number) –

    default=0, 正在执行的任务超时时间(秒), 0代表不控制超时

    注: 对于超时执行任务, 将视为失效任务, 可以选择直接忽略或强制中止

  • force_kill_overtime_worker (bool) – default=False, 是否强制中止失效任务

  • replace_overtime_worker (bool) –

    default=False, 是否创建新任务替代超时任务

    注: 仅当force_kill_overtime_worker=False时才会进行替代

  • daemon_thread_time (number) – default=0.01, 守护线程的间隔时间

  • sharedict_class (ParallelShareDictFw) –

    default=None, 进程间共享字典对象的类对象, 获取方法参考parallel_class:

    sharedict_class=ThreadParallelShareDict

  • parallel_lock_class (ParallelLockFw) –

    default=None, 进程间锁对象的类对象, 获取方法参考parallel_class:

    parallel_lock_class=ThreadParallelLock

  • kwargs (**kwargs) – 并行任务类对应的初始化参数, 具体参数定义参考具体实现类

static allways_return_fix_number(num=1000)[源代码]

get_task_num_fun的可选函数, 永远返回固定的任务值

参数

num (int) – default=1000, 要返回的任务数

返回

返回输入的任务数

返回类型

int

property is_stop

并发池是否停止状态

@property {bool}

pause(overtime=0)[源代码]

暂停并发任务处理

参数

overtime (number) – default=0, 等待超时时间, 单位为秒, 超过时间抛出异常

引发

CallOverTime – 等待超时时抛出异常

resume(overtime=0)[源代码]

继续并发任务处理

参数

overtime (number) – default=0, 等待超时时间, 单位为秒, 超过时间抛出异常

引发

CallOverTime – 等待超时时抛出异常

start()[源代码]

启动并发池

stop(overtime=0, force=False)[源代码]

停止并发池

参数
  • overtime (number) – default=0, 等待超时时间, 单位为秒, 超过时间抛出异常

  • force_stop (bool) – default=False, 是否强制关闭并发池, 直接中止所有任务

引发

CallOverTime – 等待超时时抛出异常

class HiveNetCore.parallel.ParallelShareDictFw(tag)[源代码]

基类:abc.ABC

并发任务共享字典框架, 用于支持并发任务之间的基础数据共享(查询和修改)

整体思路是重载取值和赋值运算符, 取值前先获取最新数据, 赋值后提交更新

参数

tag (string) – 唯一标识

__init__(tag)[源代码]

初始化函数, 增加标识的登记

参数

tag (string) – 唯一标识

class HiveNetCore.parallel.ProcessParallel(deal_fun, run_args=None, run_kwargs=None, auto_start=False, pid='', pname='', lock=None, callback_fun=None, set_daemon=False, logger=None, is_use_global_logger=True, log_level=20, use_distributed_logger=False, distributed_logger_module_name='', distributed_logger_class_name='', distributed_logger_args=None, distributed_logger_kwargs=None, distributed_logger_replace_para=None, is_logger_to_deal_fun=False, **kwargs)[源代码]

基类:HiveNetCore.parallel.ParallelFw

多进程并行任务处理

部分沿用了多线程的代码, 只是部分函数重载

get_runing_cpu()[源代码]

获取当前进程运行所在的CPU

返回

当前CPU标识

返回类型

long

class HiveNetCore.parallel.ProcessParallelLock(**kwargs)[源代码]

基类:HiveNetCore.parallel.ParallelLockFw

进程并发锁(基于ParallelLockFw的实现)

参数

kwargs (**kwargs) – 初始化参数, 暂无用

class HiveNetCore.parallel.ProcessParallelShareDict(tag)[源代码]

基类:HiveNetCore.parallel.ParallelShareDictFw

线程共享字典对象(基于ParallelShareDictFw的实现)

class HiveNetCore.parallel.ThreadParallel(deal_fun, run_args=None, run_kwargs=None, auto_start=False, pid='', pname='', lock=None, callback_fun=None, set_daemon=False, logger=None, is_use_global_logger=True, log_level=20, use_distributed_logger=False, distributed_logger_module_name='', distributed_logger_class_name='', distributed_logger_args=None, distributed_logger_kwargs=None, distributed_logger_replace_para=None, is_logger_to_deal_fun=False, **kwargs)[源代码]

基类:HiveNetCore.parallel.ParallelFw

多线程并行任务处理

class HiveNetCore.parallel.ThreadParallelLock(**kwargs)[源代码]

基类:HiveNetCore.parallel.ParallelLockFw

线程并发锁(基于ParallelLockFw的实现)

参数

kwargs (**kwargs) – 初始化参数, 暂无用

class HiveNetCore.parallel.ThreadParallelShareDict(tag)[源代码]

基类:HiveNetCore.parallel.ParallelShareDictFw

线程共享字典对象(基于ParallelShareDictFw的实现)

class HiveNetCore.parallel.Timer(interval, function, args=None, kwargs=None)[源代码]

基类:threading.Thread

单线程循环执行的定时任务类

注: 与threading.Timer的区别是无需重复创建新线程

cancel()[源代码]

Stop the timer if it hasn’t finished yet.

run()[源代码]

Method representing the thread’s activity.