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