docker搭建定时任务自动执行Web框架

docker部署

# 创建并切换到 QD 目录。
mkdir -p $(pwd)/qd/config && cd $(pwd)/qd
# 下载 docker-compose.yml
wget https://fastly.jsdelivr.net/gh/qd-today/qd@master/docker-compose.yml
# 根据需求和配置说明修改配置环境变量
vi ./docker-compose.yml
# 执行 Docker Compose 命令
docker-compose up -d

docker运行

docker run -d --name qd -p 8923:80 -v $(pwd)/qd/config:/usr/src/app/config qdtoday/qd

提醒:首位注册用户默认为管理员, 需要先登出再登陆后才能获得完整管理员权限

绑定域名:我用的是AMH面板直接用amh添加网站绑定域名做一个转发即可

绑定域名方法见:docker部署One Api并绑定域名

项目地址:https://qd-today.github.io/qd/zh_CN/guide/what-is-qd.html

配置环境变量

变量名 是否必须 默认值 说明
BIND 0.0.0.0 监听地址
PORT 8923 监听端口
QD_DEBUG False 是否启用Debug模式
WORKER_METHOD Queue 任务定时执行方式,
默认为 Queue, 可选 Queue 或 Batch,
Batch 模式为旧版定时任务执行方式, 性能较弱,
建议仅当 Queue 定时执行模式失效时使用
MULTI_PROCESS False (实验性)是否启用多进程模式,
Windows平台无效
AUTO_RELOAD False 是否启用自动热加载,
MULTI_PROCESS=True时无效
STATIC_URL_PREFIX /static/ 静态文件URL前缀
DOMAIN '' 指定访问域名,
(建议修改), 否则通过邮件重置密码及邮箱推送等功能无效
AES_KEY binux AES加密密钥, (强烈建议修改)
COOKIE_SECRET binux cookie加密密钥, (强烈建议修改)
COOKIE_DAY 5 Cookie在客户端中保留的天数
DB_TYPE sqlite3 需要使用MySQL时设置为'mysql'
JAWSDB_MARIA_URL '' 需要使用MySQL时,
设置为 (mysql://用户名:密码@hostname:port/数据库名?auth_plugin=)
QD_SQL_ECHO False 是否启用 SQLAlchmey 的日志输出, 默认为 False,
设置为 True 时, 会在控制台输出 SQL 语句,
允许设置为 debug 以启用 debug 模式
QD_SQL_LOGGING_NAME QD.sql_engine SQLAlchmey 日志名称, 默认为 'QD.sql_engine'
QD_SQL_LOGGING_LEVEL Warning SQLAlchmey 日志级别, 默认为 'Warning'
QD_SQL_ECHO_POOL True 是否启用 SQLAlchmey 的连接池日志输出, 默认为 True,
允许设置为 debug 以启用 debug 模式
QD_SQL_LOGGING_POOL_NAME QD.sql_pool SQLAlchmey 连接池日志名称, 默认为 'QD.sql_pool'
QD_SQL_LOGGING_POOL_LEVEL Warning SQLAlchmey 连接池日志级别, 默认为 'Warning'
QD_SQL_POOL_SIZE 10 SQLAlchmey 连接池大小, 默认为 10
QD_SQL_MAX_OVERFLOW 50 SQLAlchmey 连接池最大溢出, 默认为 50
QD_SQL_POOL_PRE_PING True 是否在连接池获取连接前,
先ping一下, 默认为 True
QD_SQL_POOL_RECYCLE 3600 SQLAlchmey 连接池回收时间, 默认为 3600
QD_SQL_POOL_TIMEOUT 60 SQLAlchmey 连接池超时时间, 默认为 60
QD_SQL_POOL_USE_LIFO True SQLAlchmey 是否使用 LIFO 算法, 默认为 True
REDISCLOUD_URL '' 需要使用Redis或RedisCloud时,
设置为 http://rediscloud:密码@hostname:port
REDIS_DB_INDEX 1 默认为1
QD_EVIL 500 (限Redis连接已开启)登录用户或IP在1小时内
分数 = 操作失败(如登录, 验证, 测试等操作)次数 * 相应惩罚分值
分数达到evil上限后自动封禁直至下一小时周期
EVIL_PASS_LAN_IP True 是否关闭本机私有IP地址用户及Localhost_API请求的evil限制
TRACEBACK_PRINT False 是否启用在控制台日志中打印Exception的TraceBack信息
PUSH_PIC_URL push_pic.png 默认为push_pic.png
PUSH_BATCH_SW True 是否允许开启定期推送 QD 任务日志, 默认为True
MAIL_SMTP "" 邮箱SMTP服务器
MAIL_PORT 465 邮箱SMTP服务器端口
MAIL_USER "" 邮箱用户名
MAIL_PASSWORD "" 邮箱密码
MAIL_FROM MAIL_USER 发送时使用的邮箱,默认与MAIL_USER相同
MAIL_DOMAIN_HTTPS False 发送的邮件链接启用HTTPS,
非框架前端使用HTTPS,
如果前端需要HTTPS, 请使用反向代理.
PROXIES "" 全局代理域名列表,用"
PROXY_DIRECT_MODE "" 全局代理黑名单模式,默认不启用
"url"为网址匹配模式;"regexp"为正则表达式匹配模式
PROXY_DIRECT "" 全局代理黑名单匹配规则
NEW_TASK_DELAY 1 新建任务后准备时间, 单位为秒, 默认为1秒
TASK_WHILE_LOOP_TIMEOUT 900 任务运行中单个 While 循环最大运行时间,
单位为秒, 默认为 15 分钟
TASK_REQUEST_LIMIT 1500 任务运行中单个任务最大请求次数,
默认为 1500 次
USE_PYCURL True 是否启用Pycurl模组
ALLOW_RETRY True 在Pycurl环境下部分请求可能导致Request错误时,
自动修改冲突设置并重发请求
DNS_SERVER "" 通过Curl使用指定DNS进行解析(仅支持Pycurl环境),
如 8.8.8.8
CURL_ENCODING True 是否允许使用Curl进行Encoding操作
CURL_CONTENT_LENGTH True 是否允许Curl使用Headers中自定义Content-Length请求
NOT_RETRY_CODE 详见配置... 详见配置...
EMPTY_RETRY True 详见配置...
USER0ISADMIN True 第一个注册用户为管理员,False关闭
EXTRA_ONNX_NAME "" config目录下自定义ONNX文件名
(不填 ".onnx" 后缀)
多个onnx文件名用"|"分隔
EXTRA_CHARSETS_NAME "" config目录下自定义ONNX对应自定义charsets.json文件名
(不填 ".json" 后缀)
多个json文件名用"|"分隔
WS_PING_INTERVAL No 5 WebSocket ping间隔, 单位为秒, 默认为 5s
WS_PING_TIMEOUT No 30 WebSocket ping超时时间, 单位为秒, 默认为 30s
WS_MAX_MESSAGE_SIZE No 10485760 WebSocket 单次接收最大消息大小, 默认为 10MB
WS_MAX_QUEUE_SIZE No 100 WebSocket 最大消息队列大小, 默认为 100
WS_MAX_CONNECTIONS_SUBSCRIBE No 30 WebSocket 公共模板更新页面最大连接数, 默认为 30
SUBSCRIBE_ACCELERATE_URL No jsdelivr_cdn 订阅加速方式或地址, 用于加速公共模板更新, 仅适用于 GitHub.
详见配置...
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
杂七杂八

docker部署One Api并绑定域名

2023-10-14 12:58:36

杂七杂八

如何定制化修改网页标题与图标

2023-10-16 0:27:37