gongxiangp2/scripts/regenerate-brand-previews.ts
chenpei cd6e40d9d2 优化:网络传输性能和稳定性 - TCP缓冲区+并发控制优化
主要改动:
1. TCP缓冲区优化(16MB)- 解决公网上传速度慢问题
2. 并发数降低到1-3 - 避免4并发导致ERR_CONNECTION_RESET
3. 动态并发控制 - 根据网络环境自动调整
4. Nginx超时增加到120s - 支持大分片上传
5. 上传进度修复 - 修复剩余时间计算
6. 新增任务-页面上传器和详情组件
7. 统一部署文档为deploy-remote-build.ps1

问题修复:
- 公网用户上传从200-900KB/s提升到预期3-5MB/s
- 内网用户上传更稳定,无连接重置错误
- UploadProgress组件剩余时间计算修正

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-27 09:33:09 +08:00

55 lines
1.5 KiB
TypeScript

const { PrismaClient } = require('@prisma/client')
const { processPdfUpload } = require('../lib/pdf-upload-handler')
const prisma = new PrismaClient()
async function main() {
const ids = [
'3ce99933-4df8-427f-aa30-454148025e1c',
'390fe674-a2a6-47f1-9b5d-6e377e5cac2c',
'fc8ab566-fd0b-4760-b68d-35a46c94d1bc',
'905b709d-74ab-4def-930b-ac5b86dfd381',
'64137416-3f37-4243-a72b-75f11f3a0114'
]
console.log('开始处理', ids.length, '个品牌灵感素材的PDF预览重新生成...')
for (const id of ids) {
const m = await prisma.material.findUnique({
where: { id },
select: { id: true, productModel: true, zipFilePath: true, previewUrl: true }
})
if (!m) {
console.log('SKIP:', id, '- not found')
continue
}
console.log('PROCESSING:', m.productModel, '|', m.id)
console.log(' Current previewUrl:', m.previewUrl || '(empty)')
if (m.zipFilePath) {
try {
const result = await processPdfUpload(m.zipFilePath, '')
if (result.success && result.previewUrl) {
await prisma.material.update({
where: { id },
data: { previewUrl: result.previewUrl }
})
console.log(' ✓ Success:', result.previewUrl)
} else {
console.log(' ✗ Failed:', result.error)
}
} catch (e) {
console.log(' ✗ Error:', e.message)
}
} else {
console.log(' SKIP: no zipFilePath')
}
}
await prisma.$disconnect()
console.log('处理完成!')
}
main().catch(console.error)