1、前端提交發起請求100臺機器,那我要等待5分鐘,
問題就在於,這100臺不是同時執行完的,有可能我有10臺執行完了,執行完了不能讓他等五分鐘,讓他執行完了立刻就返回
2、返回乙個什麼呢?
task_id的值,這個值是唯一值
3、觸發任務和拿取結果關聯起來?
你相當於第一次提交是要觸發這個任務,觸發完這個任務後,不想讓頁面卡主,所以阿賈克斯必須要立即返回
你每隔10秒鐘去後台取次結果,你再去後台取就是發的新的請求,
觸發完任務後給它返回乙個task_id的值,這個值是唯一值,我來後端取的時候拿上task_id的值
4、問題是現在結果存在哪?
1、寫訊息佇列,乙個任務乙個佇列,可能不合適,訊息放到佇列取走就消失了,因為我想要結果永久儲存
2、乙個寫資料庫,每個執行緒,把任務執行完了,自己寫到資料庫,我前端直接從資料庫裡那
1、往後臺提交一條任務,就往資料庫裡寫一條記錄,就把這個記錄的id返回
2、真正執行這條命令的主機從資料庫拿詳細的任務
3、一條大任務分出來很多子結果,所以你還要有一張表示存任務結果的
class task(models.model):那個使用者執行的要不要存?"""批量任務記錄表"""
user = models.foreignkey("userprofile")
task_type_choices = ((0,'cmd'),(1,'file_transfer'))
task_type = models.smallintegerfield(choices=task_type_choices)
content = models.textfield(verbose_name="任務內容")
#hosts = models.manytomanyfield("bindhost")
date = models.datetimefield(auto_now_add=true)
任務型別是批量執行命令還是批量分發檔案
執行任務的型別要不要存?
這個任務有沒有執行完,是用過什麼來確定的?
class tasklogdetail(models.model):寫清楚自己關聯是哪個大的任務task = models.foreignkey("task")
bind_host = models.foreignkey("bindhost")
result = models.textfield()
status_choices = ((0,'success'),(1,'failed'),(2,'init'))
status = models.smallintegerfield(choices=status_choices)
start_date = models.datetimefield(auto_now_add=true)
end_date = models.datetimefield(blank=true,null=true)
def __str__(self):
return "%s %s" %(self.bind_host,self.status)
執行每個任務的時候,要不要寫清楚自己是那台主機
每個子任務執行是否成功是不是要存起來
主機管理|批量命令4、multitask_host_list_component.html
未分組主機1、基本框架截圖}}(})@}}}
}(})@}
2、全選反選功能截圖
3、命令操作功能截圖
4、整個框架完成截圖
5、控制台批量執行命令截圖
主機管理 堡壘機系統開發 需求討論(一)
實現對使用者的許可權管理,能訪問哪些機器,在被訪問的機器上有哪些許可權 實現可以通過web頁面對指定主機列表 進行 批量發布命令 檔案 實現對使用者操作進行紀錄 到目前為止,很多公司對堡壘機依然不太感冒,其實是沒有充分認識到堡壘機在it管理中的重要作用的,很多人覺得,堡壘機就是跳板機,其實這個認識是...
管理系統開發思路
開發思路 基礎資料提煉 物件導向 使用基礎資料進行業務流程實現 業務結果使用 儲存 展示 通知 一 管理系統的本質 管理系統實際上就是將工作中人管的事,錄入到系統中通過系統來整理 管理。可以加快資料的訪問效率 提高準確性與安全性。對於實際場景的管理,則主要是提高了實時 全天候的即時響應性。二 管理系...
工作流管理系統開發之十七 任務管理
在很多辦公管理系統的流程中,關於任務的分配和管理很複雜,下面列幾種常見的任務管理方式 1 競爭型任務 將任務分配給一組具有相同許可權的人處理,誰先選擇處理就鎖定為誰處理。2 直接指派型 將任務直接指派給具體的人處理。3 動態會簽型 根據預先設定好的任務執行人範圍,生成他們的處理工單,必須都處理完成了...