Dpz.Core.Web.Jobs
后台任务管理应用,基于 Hangfire 提供可视化的任务调度和管理界面。
📋 项目简介
本项目是 dpz.core 系统的后台任务管理中心,提供定时任务、周期任务和即时任务的可视化管理功能。
在线地址: https://task.dpangzi.com
🛠 技术栈
- .NET: 10.0
- 任务调度: Hangfire
- 配置中心: AgileConfig 1.8.0
- 认证: OpenIddict Client
- 实时通讯: SignalR Client
- 版本: 1.8.0
✨ 功能特性
- 任务管理: 查看、创建、删除定时任务和周期任务
- 任务监控: 实时监控任务执行状态和历史记录
- 任务重试: 支持失败任务的自动重试和手动重试
- 任务队列: 支持多队列任务处理
- 数据备份: 集成数据库备份任务
- 对象存储: 集成对象存储服务任务
- 统一认证: 基于 OpenIddict 的 SSO 认证
🚀 本地开发
配置文件
{
"ConnectionStrings": {
"mongodb": "mongodb://localhost:27017/YourDatabase"
},
"AgileConfig": {
"appId": "Dpz.Core.Web.Jobs",
"secret": "your-secret",
"nodes": "http://your-agile-config-server",
"env": "DEV"
}
}
运行项目
cd src/Dpz.Core.Web.Jobs
dotnet run
访问:http://localhost:9527
🐳 Docker 部署
构建镜像
cd /home/ubuntu/project/dpz.core/src
sudo docker build -t dpz.jobs -f Dpz.Core.Web.Jobs/Dockerfile .
运行容器
sudo docker run --restart=always \
--name dpz.jobs \
-e TZ=Asia/Shanghai \
-p 9527:8080 \
-d dpz.jobs:latest
⚙️ Nginx 反向代理配置
nginx
server {
listen 80;
listen 443 ssl http2;
server_name task.dpangzi.com;
if ( $host != 'task.dpangzi.com' ) {
return 403;
}
ssl_certificate /home/ubuntu/cert/jobs/task.dpangzi.com_bundle.pem;
ssl_certificate_key /home/ubuntu/cert/jobs/task.dpangzi.com.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
#SSL-END
location / {
proxy_pass http://localhost:9527;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
评论加载中...