Python 任务系统6 按演进的思路来看:从零散的任务到集中管理

本文探讨在分布式环境下,如何管理和整合日益增多的独立任务。通过一个复杂的同步任务案例,介绍了任务的依赖管理、集成逻辑(SCLC)以及任务嗅探与处理策略。重点讨论了数据变动检测、Range与Set任务类型,以及SCLC在逻辑整合中的作用。此外,还提到了LocalAPS和SDS在任务分发和管理中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

在基于Docker的运行基础和微服务的架构之后,自然会走向分布式的存储和计算方式。分布式的好处很明显,但是也更加复杂了。我想对于多功能的开发,以及多任务的运行管理会自然的被设计者着重考虑。

内容

以最近刚刚完成的一个同步任务为例,有三方面体会:

  • 1 依赖。服务间、变量间都会有依赖,这些依赖会随着任务的多样化变得复杂,超出人的处理范围。这块我的解决方案是基于图库和算法来完成依赖的存储、处理和分析。这个会排到更后面解决。
  • 2 集成。任务是松耦合的,并且是基于微服务的,意味着其执行不是高可靠的。所以在程序与程序之间,逻辑与逻辑之间会分割开,但又要衔接。因此会产生很多额外的管理逻辑。这块我的方案是SCLC,第一这次的任务逻辑已经足够复杂,使用SCLC来实验正好。SCLC本质上是将操作分的更细,但是又通过适当的组合将复用的组合动作整合起来。并可以为使用者提供足够灵活和清晰的控制。代价是抽象并规范通用操作在一开始会消耗很多时间。
  • 3 管理。这个问题是眼前最直观的,通过独立的、手动的启动容器,会产生越来越多的”线头“,很快就会逼着我完成整合。

本篇仅讨论管理方面的一些点

1 案例描述

这个案例其实比较复杂的,原因是基础数据不受控,而且数据量比较大。

简单来说:

  • 1 主要更新表A。表A是实体和文书的关系表,表A的更新方式是先删后插。
  • 2 表A变化时,需要遍历其关联的实体名称E、文书D以及结构化S字段。
  • 3 S表是进行分表的,所以大约要搜索30张表。
  • 4 更新完毕后还需要对每个实体的文书进行排序,然后更新字段。
  • 5 如果收到新的实体查询,将更新和排序再单独做一次。

虽然比较复杂,但是已经涉及到了大部分的场景,具有通用性,还是值得好好搞。这样就可以自己控制一个独立的但又和生产实时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值