程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python 任務系統6 按演進的思路來看:從零散的任務到集中管理

編輯:Python

說明

在基於Docker的運行基礎和微服務的架構之後,自然會走向分布式的存儲和計算方式。分布式的好處很明顯,但是也更加復雜了。我想對於多功能的開發,以及多任務的運行管理會自然的被設計者著重考慮。

內容

以最近剛剛完成的一個同步任務為例,有三方面體會:

  • 1 依賴。服務間、變量間都會有依賴,這些依賴會隨著任務的多樣化變得復雜,超出人的處理范圍。這塊我的解決方案是基於圖庫和算法來完成依賴的存儲、處理和分析。這個會排到更後面解決。
  • 2 集成。任務是松耦合的,並且是基於微服務的,意味著其執行不是高可靠的。所以在程序與程序之間,邏輯與邏輯之間會分割開,但又要銜接。因此會產生很多額外的管理邏輯。這塊我的方案是SCLC,第一這次的任務邏輯已經足夠復雜,使用SCLC來實驗正好。SCLC本質上是將操作分的更細,但是又通過適當的組合將復用的組合動作整合起來。並可以為使用者提供足夠靈活和清晰的控制。代價是抽象並規范通用操作在一開始會消耗很多時間。
  • 3 管理。這個問題是眼前最直觀的,通過獨立的、手動的啟動容器,會產生越來越多的”線頭“,很快就會逼著我完成整合。

本篇僅討論管理方面的一些點

1 案例描述

這個案例其實比較復雜的,原因是基礎數據不受控,而且數據量比較大。

簡單來說:

  • 1 主要更新表A。表A是實體和文書的關系表,表A的更新方式是先刪後插。
  • 2 表A變化時,需要遍歷其關聯的實體名稱E、文書D以及結構化S字段。
  • 3 S表是進行分表的,所以大約要搜索30張表。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved