任务参数、状态和结果持久化到 MySQL。 接入现有 outbox;配置 BackgroundJobs__Transport=RabbitMq 时使用 RabbitMQ 队列 exam.arrangement,否则使用 InMemory worker。 服务重启后可恢复未完成任务。 前端显示排队/执行/完成/失败状态,刷新页面可恢复正在执行的任务。 编排期间禁止修改、删除或发布对应计划。 补考原有“一键生成”保留,并与编排任务互斥。 运维后台增加“考试与补考编排”失败任务筛选。
69 lines
3.2 KiB
Bash
69 lines
3.2 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;"
|
|
# 仅供备份与隔离恢复演练使用。该账号需要读取业务库,并仅能创建/删除
|
|
# jiaowu_restore_drill_* 临时库;不要在此复用日常业务账号。
|
|
# ConnectionStrings__OperationsMySql="Server=db.example.edu.cn;Port=3306;Database=jiaowu;User=OPS_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
|
|
BackgroundJobs__ExamArrangementConcurrency=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
|
|
|
|
# 运维控制台备份目录必须位于持久化、仅服务账号可写的位置。
|
|
Operations__BackupDirectory=/var/lib/jiaowu/backups
|
|
Operations__BackupWarningHours=24
|
|
Operations__ToolTimeoutMinutes=30
|
|
Operations__MySqlDumpPath=mysqldump
|
|
Operations__MySqlClientPath=mysql
|
|
# 按实际客户端补充 TLS 参数;Oracle MySQL 客户端示例:
|
|
# Operations__MySqlAdditionalArguments__0=--ssl-mode=VERIFY_IDENTITY
|
|
# Operations__MySqlAdditionalArguments__1=--ssl-ca=/etc/jiaowu/mysql-ca.pem
|
|
|
|
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=系统管理员
|