用于函数、循环和排队的工人等的各种工具。
pyaltt的Python项目详细描述
Pyalt
此库已弃用,不再受支持
改用atasker库
用于函数、循环和排队的工人等的各种工具。 许可证:apache license 2.0 收集并执行一组函数 用法示例: 实际示例:定义dump函数集合并调用dump.run()或
只需dump()即可收集注册的模块信息。 现实生活中的例子2:defineshutdown函数集合和调用
shutdown()停止后台工作线程。 参数: run()方法实际上只调用了return self.execute(),因此您可以很容易地
覆盖它。除了函数result dict,如果
所有的函数都是在没有异常的情况下执行的,如果没有异常,false。 在循环中执行方法的简单后台工作程序,具有间隔/延迟
如果设置, 用法示例: @background\u worker的参数: 注意:如果在虚拟机中运行,请取消设置"将来宾时间与主机同步"
否则,实时睡眠可能无法预测。 轮询延迟应小于或等于延迟。如果你安排的时间很短,
别忘了减少投票延迟。 此库中的实时循环执行不是100%准确,无法使用
例如重工业。实时循环需要为
特定任务和小延迟根本不能用python编码,或者
需要特殊技巧/硬件。 start()的参数: \u守护进程覆盖初始参数并将worker设置为守护进程或不设置 name、delay、interval和realtime参数可以在start中重写(使用
带有的Kwargs:u name、u delay、u interval等) 所有其他参数都传递给辅助函数(args和kwargs) worker获取start()中使用的所有参数,另外,worker\u name
在kwargs中o(可以在start()中重写)。 worker可以通过kwargs[''u worker']访问self对象
参数wait=false可用于stop()向工人和
继续(默认为等待工作进程完成) 在队列中处理任务的后台工作线程。 用法示例: 参数: 如果设置了队列或队列类参数,则不需要设置q=true。 任务可以是任何对象(显而易见)。worker始终将task作为第一个参数。 start()/stop()的参数与循环工作机的参数相同。 在事件上运行方法的后台工作程序。 参数: start()/stop()的参数与循环工作机的参数相同。 这可以通过两种方式完成:从worker函数调用myworker.terminate()
或者只需返回false 如果在类中定义了可能继承或具有
多个对象、后台工作类不应使用包装器。 类名: 您可以重写循环方法,以便在worker时执行自己的函数
开始。 循环调用实际上是工作函数的run函数(相同
在上面的示例中进行了修饰/转换)。 (c)2018-2019年Altertech集团,https://www.altertech.com/" rel="nofollow">https://www.altertech.com/函数集合
frompyalttimportFunctionCollectonfc=FunctionCollecton()@fcdeff1():print('I am function 1')return1@fcdeff2():print('I am function 2')return2result=fc.run()# or fc(), returns dict containing all function results
defmy_run():print('Shutdown started')result,success=fc.execute()ifsuccess:print('Shutdown finished')else:print('Shutdown failed')returnresultfc.run=my_run
背景工作者
循环工人装饰工
frompyalttimportbackground_worker#transforms function into background worker which run in a loop@background_workerdefmyworker(**kwargs):print('I\'m a worker '+kwargs.get('worker_name'))myworker.start()# ................myworker.stop()
队列工作进程装饰器
frompyalttimportbackground_worker#transforms function into background worker which run on task in queue@background_worker(q=True)defmyworker(task,**kwargs):print('Got a task %s'%task)myworker.start()# ................myworker.put('task 1')# ................myworker.stop()
事件工作者装饰器
frompyalttimportbackground_worker#transforms function into background worker which runs on event@background_worker(e=True)defmyworker(**kwargs):print('event triggered')myworker.start()# ................myworker.trigger()# ................myworker.stop()
从辅助进程停止循环
直接使用类
推荐PyPI第三方库