新需求更新 同步更新
This commit is contained in:
@@ -65,7 +65,7 @@ AIIMAGE_APPEARANCE_PATENT_COZE_BASE_URL=https://api.coze.cn
|
||||
AIIMAGE_APPEARANCE_PATENT_COZE_WORKFLOW_PATH=/v1/workflow/run
|
||||
AIIMAGE_APPEARANCE_PATENT_COZE_WORKFLOW_ID=7632683471312355338
|
||||
AIIMAGE_APPEARANCE_PATENT_COZE_TOKEN=
|
||||
AIIMAGE_APPEARANCE_PATENT_COZE_BATCH_SIZE=50
|
||||
AIIMAGE_APPEARANCE_PATENT_COZE_BATCH_SIZE=10
|
||||
AIIMAGE_APPEARANCE_PATENT_COZE_READ_TIMEOUT_MILLIS=60000
|
||||
AIIMAGE_APPEARANCE_PATENT_STALE_TIMEOUT_MINUTES=30
|
||||
|
||||
|
||||
@@ -90,6 +90,7 @@ aiimage:
|
||||
bucket: ${AIIMAGE_OSS_BUCKET:nanri-ai-images}
|
||||
image-video-bucket: ${AIIMAGE_IMAGE_VIDEO_OSS_BUCKET:shufu-video}
|
||||
digital-human-bucket: ${AIIMAGE_DIGITAL_HUMAN_OSS_BUCKET:nanri-ai-digital-human}
|
||||
template-bucket: ${AIIMAGE_TEMPLATE_OSS_BUCKET:aiimage-templates}
|
||||
access-key-id: ${AIIMAGE_OSS_ACCESS_KEY_ID:appuser}
|
||||
access-key-secret: ${AIIMAGE_OSS_ACCESS_KEY_SECRET:AppUser@2024SecureKey}
|
||||
transient-storage:
|
||||
@@ -153,7 +154,7 @@ aiimage:
|
||||
enabled: ${AIIMAGE_MODULE_CLEANUP_ENABLED:true}
|
||||
cron: ${AIIMAGE_MODULE_CLEANUP_CRON:0 0 0 * * *}
|
||||
retention-days: ${AIIMAGE_MODULE_CLEANUP_RETENTION_DAYS:7}
|
||||
module-types: ${AIIMAGE_MODULE_CLEANUP_MODULE_TYPES:DEDUPE,SPLIT,CONVERT,DELETE_BRAND,PRODUCT_RISK_RESOLVE,PRICE_TRACK,SHOP_MATCH,PATROL_DELETE,QUERY_ASIN,SHOP_DATA_CRAWL,WITHDRAW,APPEARANCE_PATENT,SIMILAR_ASIN,COLLECT_DATA}
|
||||
module-types: ${AIIMAGE_MODULE_CLEANUP_MODULE_TYPES:DEDUPE,SPLIT,CONVERT,DELETE_BRAND,PRODUCT_RISK_RESOLVE,PRICE_TRACK,SHOP_MATCH,PATROL_DELETE,QUERY_ASIN,WITHDRAW,APPEARANCE_PATENT,SIMILAR_ASIN,COLLECT_DATA}
|
||||
permission-schema-init:
|
||||
enabled: ${AIIMAGE_PERMISSION_SCHEMA_INIT_ENABLED:false}
|
||||
task-pressure:
|
||||
@@ -185,6 +186,7 @@ aiimage:
|
||||
local-worker-delay-ms: ${AIIMAGE_RESULT_FILE_JOB_LOCAL_WORKER_DELAY_MS:10000}
|
||||
stuck-scan-delay-ms: ${AIIMAGE_RESULT_FILE_JOB_STUCK_SCAN_DELAY_MS:60000}
|
||||
stuck-timeout-minutes: ${AIIMAGE_RESULT_FILE_JOB_STUCK_TIMEOUT_MINUTES:30}
|
||||
heartbeat-interval-ms: ${AIIMAGE_RESULT_FILE_JOB_HEARTBEAT_INTERVAL_MS:60000}
|
||||
batch-size: ${AIIMAGE_RESULT_FILE_JOB_BATCH_SIZE:20}
|
||||
coze-task:
|
||||
max-concurrent: ${AIIMAGE_COZE_TASK_MAX_CONCURRENT:12}
|
||||
@@ -200,7 +202,7 @@ aiimage:
|
||||
coze-workflow-path: ${AIIMAGE_APPEARANCE_PATENT_COZE_WORKFLOW_PATH:/v1/workflow/run}
|
||||
coze-workflow-id: ${AIIMAGE_APPEARANCE_PATENT_COZE_WORKFLOW_ID:7639685157562089513}
|
||||
coze-token: ${AIIMAGE_APPEARANCE_PATENT_COZE_TOKEN:}
|
||||
coze-batch-size: ${AIIMAGE_APPEARANCE_PATENT_COZE_BATCH_SIZE:20}
|
||||
coze-batch-size: ${AIIMAGE_APPEARANCE_PATENT_COZE_BATCH_SIZE:10}
|
||||
coze-connect-timeout-millis: ${AIIMAGE_APPEARANCE_PATENT_COZE_CONNECT_TIMEOUT_MILLIS:10000}
|
||||
coze-read-timeout-millis: ${AIIMAGE_APPEARANCE_PATENT_COZE_READ_TIMEOUT_MILLIS:60000}
|
||||
coze-poll-interval-millis: ${AIIMAGE_APPEARANCE_PATENT_COZE_POLL_INTERVAL_MILLIS:30000}
|
||||
@@ -225,9 +227,12 @@ aiimage:
|
||||
coze-submit-min-interval-millis: ${AIIMAGE_SIMILAR_ASIN_COZE_SUBMIT_MIN_INTERVAL_MILLIS:5000}
|
||||
coze-flush-pending-minutes: ${AIIMAGE_SIMILAR_ASIN_COZE_FLUSH_PENDING_MINUTES:1}
|
||||
coze-submit-max-retry-count: ${AIIMAGE_SIMILAR_ASIN_COZE_SUBMIT_MAX_RETRY_COUNT:5}
|
||||
image-download-pool-size: ${AIIMAGE_SIMILAR_ASIN_IMAGE_DOWNLOAD_POOL_SIZE:32}
|
||||
image-download-pool-size: ${AIIMAGE_SIMILAR_ASIN_IMAGE_DOWNLOAD_POOL_SIZE:8}
|
||||
image-download-timeout-seconds: ${AIIMAGE_SIMILAR_ASIN_IMAGE_DOWNLOAD_TIMEOUT_SECONDS:5}
|
||||
image-prefetch-timeout-seconds: ${AIIMAGE_SIMILAR_ASIN_IMAGE_PREFETCH_TIMEOUT_SECONDS:1800}
|
||||
result-file-timeout-minutes: ${AIIMAGE_SIMILAR_ASIN_RESULT_FILE_TIMEOUT_MINUTES:90}
|
||||
image-cache-max-bytes: ${AIIMAGE_SIMILAR_ASIN_IMAGE_CACHE_MAX_BYTES:268435456}
|
||||
image-local-cache-dir: ${AIIMAGE_SIMILAR_ASIN_IMAGE_LOCAL_CACHE_DIR:${AIIMAGE_STORAGE_LOCAL_TEMP_DIR:./data/tmp}/similar-asin-image-cache}
|
||||
image-db-cache-enabled: ${AIIMAGE_SIMILAR_ASIN_IMAGE_DB_CACHE_ENABLED:false}
|
||||
stale-timeout-minutes: ${AIIMAGE_SIMILAR_ASIN_STALE_TIMEOUT_MINUTES:30}
|
||||
stale-finalize-cron: ${AIIMAGE_SIMILAR_ASIN_STALE_FINALIZE_CRON:0 */2 * * * *}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
ALTER TABLE biz_shop_key
|
||||
ADD COLUMN ip_whitelist_status VARCHAR(16) NOT NULL DEFAULT 'UNKNOWN' COMMENT 'IP白名单状态:UNKNOWN/ALLOWED/BLOCKED' AFTER ziniao_token,
|
||||
ADD COLUMN ip_whitelist_checked_at DATETIME NULL COMMENT '最近一次IP白名单检测时间' AFTER ip_whitelist_status,
|
||||
ADD COLUMN ip_whitelist_message VARCHAR(500) NULL COMMENT '最近一次IP白名单检测信息' AFTER ip_whitelist_checked_at;
|
||||
@@ -0,0 +1,34 @@
|
||||
-- Durable marker for retry-exhausted result-file callbacks.
|
||||
SET @terminal_callback_db_name = DATABASE();
|
||||
|
||||
SET @terminal_callback_column_exists = (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = @terminal_callback_db_name
|
||||
AND TABLE_NAME = 'biz_task_file_job'
|
||||
AND COLUMN_NAME = 'terminal_callback_at'
|
||||
);
|
||||
SET @terminal_callback_sql = IF(
|
||||
@terminal_callback_column_exists = 0,
|
||||
'ALTER TABLE `biz_task_file_job` ADD COLUMN `terminal_callback_at` DATETIME NULL COMMENT ''parent terminal failure callback completed'' AFTER `finished_at`',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE terminal_callback_stmt FROM @terminal_callback_sql;
|
||||
EXECUTE terminal_callback_stmt;
|
||||
DEALLOCATE PREPARE terminal_callback_stmt;
|
||||
|
||||
SET @terminal_callback_index_exists = (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.STATISTICS
|
||||
WHERE TABLE_SCHEMA = @terminal_callback_db_name
|
||||
AND TABLE_NAME = 'biz_task_file_job'
|
||||
AND INDEX_NAME = 'idx_file_job_terminal_callback'
|
||||
);
|
||||
SET @terminal_callback_sql = IF(
|
||||
@terminal_callback_index_exists = 0,
|
||||
'ALTER TABLE `biz_task_file_job` ADD INDEX `idx_file_job_terminal_callback` (`status`, `retry_count`, `terminal_callback_at`, `updated_at`)',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE terminal_callback_stmt FROM @terminal_callback_sql;
|
||||
EXECUTE terminal_callback_stmt;
|
||||
DEALLOCATE PREPARE terminal_callback_stmt;
|
||||
@@ -0,0 +1,25 @@
|
||||
-- Admin menu and independent data permission for shop-data-crawl task history.
|
||||
INSERT INTO `columns` (`name`, `column_key`, `menu_type`, `route_path`, `sort_order`)
|
||||
SELECT '店铺数据任务管理', 'admin_shop_data_crawl_tasks', 'admin', 'shop-data-crawl-tasks', 82
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `columns` WHERE `column_key` = 'admin_shop_data_crawl_tasks'
|
||||
);
|
||||
|
||||
INSERT INTO `columns` (`name`, `column_key`, `menu_type`, `route_path`, `sort_order`)
|
||||
SELECT '店铺数据任务数据查看', 'admin_shop_data_crawl_task_data', 'internal', 'shop-data-crawl-task-data', 0
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `columns` WHERE `column_key` = 'admin_shop_data_crawl_task_data'
|
||||
);
|
||||
|
||||
-- Preserve the video-task convention: users who already received the visible
|
||||
-- task menu receive the initial data grant. Later changes use the dedicated UI.
|
||||
INSERT IGNORE INTO `user_column_permission` (`user_id`, `column_id`)
|
||||
SELECT old_perm.`user_id`, data_col.`id`
|
||||
FROM `user_column_permission` old_perm
|
||||
INNER JOIN `columns` old_col ON old_col.`id` = old_perm.`column_id`
|
||||
INNER JOIN `columns` data_col ON data_col.`column_key` = 'admin_shop_data_crawl_task_data'
|
||||
LEFT JOIN `user_column_permission` existing
|
||||
ON existing.`user_id` = old_perm.`user_id`
|
||||
AND existing.`column_id` = data_col.`id`
|
||||
WHERE old_col.`column_key` = 'admin_shop_data_crawl_tasks'
|
||||
AND existing.`user_id` IS NULL;
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user