開源純 Python 后臺管理系統(tǒng),支持任務(wù)管理功能
一、簡介
大家好我是費(fèi)老師,前段時間給大家分享了純Python構(gòu)建的開源后臺管理系統(tǒng)DashGo,憑借其前端和后端均基于Python高效實(shí)現(xiàn)的特點(diǎn),吸引了很多讀者朋友前來學(xué)習(xí)和使用。
作為一個持續(xù)迭代更新中的開源項(xiàng)目,DashGo目前已具備的主要功能如下:
- 多頁面管理
- 組件和函數(shù)級別的細(xì)粒度權(quán)限管理
- 自帶用戶、角色和團(tuán)隊(duì)的權(quán)限的管理
- i18n國際化組件
- 密碼和OTP登錄
- 支持OAuth2 provider
- 支持任務(wù)模塊,支持周期任務(wù)和定時任務(wù)
- 任務(wù)模塊支持?jǐn)?shù)據(jù)抽取與信息推送,可以實(shí)現(xiàn)數(shù)據(jù)大屏和實(shí)時監(jiān)控
其中任務(wù)模塊是DashGo近期剛剛新增的功能模塊,下文中我們就將針對此項(xiàng)新功能做詳細(xì)介紹,有關(guān)DashGo的其他基礎(chǔ)功能介紹,請移步閱讀:《開箱即用!開源純Python后臺管理系統(tǒng)》
二、DashGo任務(wù)模塊功能介紹
1. 啟動DashGo
作為一個開源項(xiàng)目,DashGo的源碼托管在Github,并同步至國內(nèi)訪問更為順暢的碼云平臺:
- DashGo倉庫地址:https://github.com/luojiaaoo/Plotly-DashGo
- 碼云同步倉庫地址:https://gitee.com/luojiaaoo/DashGo
要本地運(yùn)行最新版本的DashGo非常的簡單,在終端已激活Python環(huán)境的條件下(推薦使用3.10版本),依次執(zhí)行下面全部的命令即可完整項(xiàng)目的初始化(網(wǎng)絡(luò)不佳的朋友,請將命令中的Github地址更換為Gitee地址):
git clone https://github.com/luojiaaoo/Plotly-DashGo.git
cd Plotly-DashGo
pip install -r requirements_win.txt
cd src
python -c "from database.sql_db.conn import create_rds_table; create_rds_table()"
python -c "from database.sql_db.conn import init_rds_data; init_rds_data()"
接著直接在項(xiàng)目的src目錄下執(zhí)行命令python app.py即可啟動開發(fā)版本的應(yīng)用,按輸出的提示地址進(jìn)行訪問即可:
需要注意的是,如果要使用DashGo中的任務(wù)模塊功能,需要另外通過終端單獨(dú)啟動src目錄下的app_apscheduler.py模塊:
python app_apscheduler.py
2. 任務(wù)中心模塊
對應(yīng)側(cè)邊菜單欄中的任務(wù)中心,目前包含了任務(wù)管理和任務(wù)日志功能頁:
任務(wù)管理:
任務(wù)日志:
「任務(wù)類別」方面,目前DashGo支持周期任務(wù)和定時任務(wù),其中周期任務(wù)以秒為單位,按計劃執(zhí)行周期性的重復(fù)任務(wù):
定時任務(wù)則可基于Cron規(guī)則,進(jìn)行定時任務(wù)定義:
「任務(wù)腳本」目前對應(yīng)不同的系統(tǒng),支持Shell和Bat兩種腳本形式,可在線編輯定義目標(biāo)腳本內(nèi)容:
腳本「執(zhí)行方式」上,DashGo中同時支持本地腳本和ssh遠(yuǎn)程執(zhí)行兩種方式,非常靈活:
對于已定義的任務(wù)腳本,可在線進(jìn)行「日志查看」,支持運(yùn)行中任務(wù)實(shí)時日志查看:
三、項(xiàng)目技術(shù)棧
「DashGo」之所以可以實(shí)現(xiàn)純Python高效實(shí)現(xiàn)應(yīng)用的前后端,得益于Python生態(tài)中的頂級開源全棧應(yīng)用開發(fā)框架Dash,通過直接編寫Dash應(yīng)用邏輯實(shí)現(xiàn)各種復(fù)雜程度的前端頁面及交互功能,配合Dash內(nèi)置的Flask實(shí)現(xiàn)更多的應(yīng)用拓展功能及服務(wù),非常適合企業(yè)內(nèi)部各種數(shù)據(jù)應(yīng)用的快速開發(fā):