RabbitMQ 默认从单一回调通道提升为三类任务独立并行,跨类型并发能力由 1 提升到 3;每类还能独立配置 1–16 个消费者。[RabbitMqBackgroundJobs.cs (line 143)](E:/jiaowu/src/Jiaowu.Api/Infrastructure/BackgroundJobs/RabbitMqBackgroundJobs.cs:143) InMemory 开发模式同步改为按任务类型隔离队列,避免某类长任务堵塞其他任务。 租约恢复检查从“每发布一条执行一次”改为默认每 60 秒维护一次。 启动恢复改为数据库 NOT EXISTS 查询,不再把全部历史 Outbox 加载进内存。[BackgroundJobOutboxPublisher.cs (line 9)](E:/jiaowu/src/Jiaowu.Api/Infrastructure/BackgroundJobs/BackgroundJobOutboxPublisher.cs:9) 完成消息默认保留 14 天,之后按每批 500 条清理,并增加对应组合索引。 /health/messaging 现在返回各状态积压量、过期租约和最老任务等待时间。[BackgroundJobMonitoringService.cs (line 16)](E:/jiaowu/src/Jiaowu.Api/Infrastructure/BackgroundJobs/BackgroundJobMonitoringService.cs:16) 新增 Jiaowu.BackgroundJobs 运行时指标,覆盖发布量、处理量、发布耗时、处理耗时和清理量。[BackgroundJobTelemetry.cs (line 9)](E:/jiaowu/src/Jiaowu.Api/Infrastructure/BackgroundJobs/BackgroundJobTelemetry.cs:9) 配置、Compose 和调优建议已更新。[README.md (line 257)](E:/jiaowu/README.md:257)
55 lines
2.3 KiB
Bash
55 lines
2.3 KiB
Bash
# 复制为发布目录中的 .env。真实密钥和密码不要提交到仓库。
|
|
ASPNETCORE_ENVIRONMENT=Production
|
|
ASPNETCORE_URLS=http://0.0.0.0:8080
|
|
|
|
Database__Provider=MySql
|
|
Database__ApplyMigrationsOnStartup=false
|
|
Database__CommandTimeoutSeconds=30
|
|
ConnectionStrings__MySql="Server=db.example.edu.cn;Port=3306;Database=jiaowu;User=APP_USER;Password=REPLACE_WITH_A_STRONG_PASSWORD;SslMode=VerifyFull;SslCa=/etc/jiaowu/mysql-ca.pem;"
|
|
# Redis 是可选加速器;留空时应用仅使用进程内缓存。
|
|
# ConnectionStrings__Redis="redis.example.edu.cn:6380,user=jiaowu,password=REPLACE_WITH_A_STRONG_PASSWORD,ssl=true,abortConnect=false"
|
|
|
|
# 单机可继续使用 InMemory;多实例生产部署建议启用 RabbitMQ。
|
|
BackgroundJobs__Transport=InMemory
|
|
BackgroundJobs__AutomaticScheduleConcurrency=1
|
|
BackgroundJobs__SchedulePublishConcurrency=1
|
|
BackgroundJobs__MakeupExamAutoConcurrency=1
|
|
# RabbitMq__HostName=rabbitmq.example.edu.cn
|
|
# RabbitMq__Port=5671
|
|
# RabbitMq__UserName=jiaowu
|
|
# RabbitMq__Password=REPLACE_WITH_A_STRONG_PASSWORD
|
|
# RabbitMq__VirtualHost=/jiaowu
|
|
# RabbitMq__UseTls=true
|
|
# RabbitMq__TlsServerName=rabbitmq.example.edu.cn
|
|
|
|
Cache__Enabled=true
|
|
Cache__KeyPrefix=jiaowu:v1
|
|
Cache__ReferenceExpirationMinutes=30
|
|
Cache__ReferenceLocalExpirationSeconds=120
|
|
Cache__TimetableExpirationMinutes=10
|
|
Cache__TimetableLocalExpirationSeconds=30
|
|
Cache__AnalyticsExpirationMinutes=3
|
|
Cache__AnalyticsLocalExpirationSeconds=30
|
|
Cache__MaximumPayloadKilobytes=2048
|
|
|
|
Jwt__Issuer=Jiaowu.Api
|
|
Jwt__Audience=Jiaowu.Web
|
|
Jwt__Key=REPLACE_WITH_AT_LEAST_32_RANDOM_BYTES
|
|
Jwt__ExpireMinutes=60
|
|
|
|
AllowedHosts=jiaowu.example.edu.cn
|
|
Cors__Origins__0=https://jiaowu.example.edu.cn
|
|
|
|
# 二维码使用的公网根地址;反向代理部署时必须填写最终 HTTPS 地址。
|
|
OfficialDocuments__InstitutionName=明序大学
|
|
OfficialDocuments__IssuingOffice=教务处
|
|
OfficialDocuments__DocumentNumberPrefix=MXU
|
|
OfficialDocuments__PublicBaseUrl=https://jiaowu.example.edu.cn
|
|
# 默认使用系统中文字体;仅在自定义字体部署时填写绝对路径。
|
|
# OfficialDocuments__FontPath=/usr/share/fonts/noto/NotoSansCJK-Regular.ttc
|
|
|
|
# 仅首次创建管理员时临时取消注释,创建成功后立即删除。
|
|
# SeedAdmin__UserName=admin
|
|
# SeedAdmin__Password=REPLACE_WITH_A_STRONG_ADMIN_PASSWORD
|
|
# SeedAdmin__DisplayName=系统管理员
|