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;
    }
  }
评论加载中...