akuanduba是一个python框架,它简化了对多个运行线程和共享资源的操作。它的名字来源于巴西神话中的神:秩序之神Akuanduba。

Akuanduba的Python项目详细描述


阿昆杜巴

示例:使用服务获取数据。

其他主要概念

除了这些基类之外,akuanduba还依赖于其他几个主要概念:

  • 上下文
  • 数据框架管理器
  • 工具管理器
  • 服务管理器
  • Akuandubattrigger

上下文是一个抽象,它包含附加到框架的每一个东西:工具服务数据帧。通过这种方式,可以从连接到akuanduba的任何其他组件访问所有内容。从上下文中获取的每个数据帧都被锁定到execute方法,并仅在其执行后释放。

管理器数据框架管理器工具管理器服务管理器)都基于管理器类,它们之间的唯一区别是它们管理不同的东西。您可以分别管理数据帧工具服务。在另一个世界rds,您可以使用\u add\uu操作附加它们,并使用retrieve方法检索它们。您附加到这些管理器上的内容将按您的顺序运行(稍后将更好地讨论执行)。

akuandubattrigger是继承自akuandubatool的类。它的目的是构建一个对象,您可以附加多个假设测试(必须继承自triggercondition)和工具,以便触发所有这些工具execute方法。您可以使用三种类型的触发器:"and"、"or"和"xor",它们都是不言而喻的。

执行

akuanduba本身有三种主要的方法:初始化执行完成

initialize方法遵循以下步骤:

  • 将框架状态插入上下文
  • dataframemanager上的所有数据帧插入上下文中
  • servicemanager上的所有服务插入上下文中并运行它们;
  • 将toolmanager上的所有工具插入上下文中,运行它们;
  • 检查上下文中的错误初始化。

execute方法是主执行循环。它的任务是:

  • 循环访问服务,调用它们的execute方法;
  • 循环浏览工具,调用它们的execute方法;

最后,finalize方法只是试图杀死由akuanduba框架创建的每个线程。

示例

假设有两个服务从不同的源获取数据,一个工具处理整个数据。您可以构建一个脚本,将服务附加到服务管理器工具附加到工具管理器。假设,为此,您创建了两个数据帧,一个用于存储原始数据,另一个用于处理数据。脚本执行的图表如下:

如您所见,服务的run方法实时获取数据并将其附加到自己的队列中。在主akuanduba循环中,调用execute方法,并将数据存储在数据帧(1和2)上。之后,将调用工具执行方法,在该方法中,数据将被处理并存储在另一个数据帧(3)上。

做某事!(下一版本)
  • 删除不推荐的触发器实现。

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

推荐PyPI第三方库


热门话题
使用客户端Java代码进行Spring引导多部分文件上载   Java Swing如何使JButton的边界不可见?   Amstrong数字返回为空结果(java)   多线程Java:永远等待Thead   java如何继续查找播放同一首歌曲但压缩格式不同的音频文件?   java Windows无法启动服务,错误1053:服务未及时响应启动或控制请求   java如何使用多线程连续更新GUI   java AndroidStudio:如何将地图附加到NavigationDrawer片段   JavaEclipse和Maven编译的差异   java如何比较long值等于long值   javafx ActionEvent中的javafx调用方法   java Hibernate:如何使实体和所有关联默认为只读?(或从会话中自动退出关联)   启动maven wildfly插件时出现java异常:服务器未能在60秒内启动   java在通过ant脚本运行junit时在控制台上获取输出   java Spring Hibernate模式更新不适用于数据库名称中的减号