Compare commits

...

3 Commits

Author SHA1 Message Date
yyhuni
58533bbaf6 fix:docker api 2025-12-31 12:03:08 +08:00
github-actions[bot]
6ccca1602d chore: bump version to v1.2.5-dev 2025-12-31 03:48:32 +00:00
yyhuni
6389b0f672 feat(fingerprints): Add type annotation to getAcceptConfig function
- Add explicit return type annotation `Record<string, string[]>` to getAcceptConfig function
- Improve type safety and IDE autocomplete for file type configuration
- Enhance code clarity for accepted file types mapping in import dialog
2025-12-31 10:17:25 +08:00
4 changed files with 3 additions and 15 deletions

View File

@@ -1 +1 @@
v1.2.2-dev
v1.2.5-dev

View File

@@ -264,10 +264,6 @@ class TaskDistributor:
"""
import shlex
# Docker API 版本配置(避免版本不兼容问题)
# 默认使用 1.40 以获得最大兼容性(支持 Docker 19.03+
api_version = getattr(settings, 'DOCKER_API_VERSION', '1.40')
# 根据 Worker 类型确定网络和 Server 地址
if worker.is_local:
# 本地:加入 Docker 网络,使用内部服务名
@@ -315,9 +311,7 @@ class TaskDistributor:
# - 本地 Workerinstall.sh 已预拉取镜像,直接使用本地版本
# - 远程 Workerdeploy 时已预拉取镜像,直接使用本地版本
# - 避免每次任务都检查 Docker Hub提升性能和稳定性
# 使用双引号包裹 sh -c 命令,内部 shlex.quote 生成的单引号参数可正确解析
# DOCKER_API_VERSION 环境变量确保客户端和服务端 API 版本兼容
cmd = f'''DOCKER_API_VERSION={api_version} docker run --rm -d --pull=missing {network_arg} \\
cmd = f'''docker run --rm -d --pull=missing {network_arg} \\
{' '.join(env_vars)} \\
{' '.join(volumes)} \\
{self.docker_image} \\

View File

@@ -345,12 +345,6 @@ TASK_SUBMIT_INTERVAL = int(os.getenv('TASK_SUBMIT_INTERVAL', '6'))
# 本地 Worker Docker 网络名称(与 docker-compose.yml 中定义的一致)
DOCKER_NETWORK_NAME = os.getenv('DOCKER_NETWORK_NAME', 'xingrin_network')
# Docker API 版本配置(防止客户端与服务端版本不匹配)
# API 1.40 支持 Docker 19.03+ (2019年至今),具有最大兼容性
# 如果所有 worker 节点都是 Docker 20.10+,可设置为 1.41
# 查看 worker 节点的 API 版本ssh user@worker "docker version --format '{{.Server.APIVersion}}'"
DOCKER_API_VERSION = os.getenv('DOCKER_API_VERSION', '1.40')
# 宿主机挂载源路径(所有节点统一使用固定路径)
# 部署前需创建mkdir -p /opt/xingrin
HOST_RESULTS_DIR = '/opt/xingrin/results'

View File

@@ -209,7 +209,7 @@ export function ImportFingerprintDialog({
}[fingerprintType]
// Determine accepted file types based on fingerprint type
const getAcceptConfig = () => {
const getAcceptConfig = (): Record<string, string[]> => {
if (fingerprintType === "arl") {
return {
"application/json": [".json"],