chore(logging): 降噪 PDD 同步与发单消费者常态日志
将无新单/全跳过的处理完成日志降到 debug,并压缩 decisions 详情,避免 app 日志被按日切碎。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
import type { JsonObject } from '../../types/json.js'
|
||||
import { logInfo } from '../../utils/logger.js'
|
||||
import { logDebug, logInfo } from '../../utils/logger.js'
|
||||
import { syncAllPddStores } from '../platforms/pdd/pdd-sync-service.js'
|
||||
import { getPddSourcesConfig } from '../platforms/pdd/pdd-source-config-service.js'
|
||||
|
||||
@@ -39,24 +39,29 @@ export async function runPddOrderSyncJob(job: JsonObject) {
|
||||
const failedCount = syncResult.results.filter((r) => Boolean(r.error)).length
|
||||
const totalUpserted = syncResult.results.reduce((acc, r) => acc + r.upsertedCount, 0)
|
||||
const totalFetched = syncResult.results.reduce((acc, r) => acc + r.fetchedCount, 0)
|
||||
const totalNewOrders = syncResult.results.reduce((acc, r) => acc + r.newOrderCount, 0)
|
||||
|
||||
logInfo('[pdd-order-sync-job]', '拼多多定时拉单执行完成', {
|
||||
const jobLog = totalNewOrders > 0 || failedCount > 0 ? logInfo : logDebug
|
||||
jobLog('[pdd-order-sync-job]', '拼多多定时拉单执行完成', {
|
||||
storeCount: syncResult.storeCount,
|
||||
syncedCount: syncResult.syncedCount,
|
||||
okCount,
|
||||
failedCount,
|
||||
totalFetched,
|
||||
totalUpserted,
|
||||
totalNewOrders,
|
||||
})
|
||||
|
||||
return {
|
||||
ok: failedCount === 0,
|
||||
status: failedCount > 0 ? (okCount > 0 ? 'partial_error' : 'failed') : 'ok',
|
||||
message: `已同步 ${syncResult.syncedCount} 个店铺,拉取 ${totalFetched} 单,入库/更新 ${totalUpserted} 单${failedCount > 0 ? `,失败 ${failedCount} 个店铺` : ''}`,
|
||||
message: `已同步 ${syncResult.syncedCount} 个店铺,拉取 ${totalFetched} 单,新单 ${totalNewOrders},入库/更新 ${totalUpserted} 单${failedCount > 0 ? `,失败 ${failedCount} 个店铺` : ''}`,
|
||||
accountCount: syncResult.storeCount,
|
||||
checkedCount: syncResult.syncedCount,
|
||||
okCount,
|
||||
failedCount,
|
||||
asset: totalUpserted,
|
||||
asset: totalNewOrders,
|
||||
totalUpserted,
|
||||
totalNewOrders,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { logError, logInfo, logWarn } from '../../utils/logger.js'
|
||||
import { logDebug, logError, logInfo, logWarn } from '../../utils/logger.js'
|
||||
import { createHttpError } from '../../utils/http.js'
|
||||
import type { JsonObject } from '../../types/json.js'
|
||||
import { getScheduledJobById, getScheduledJobsConfig } from './config-service.js'
|
||||
@@ -147,10 +147,15 @@ async function runJob(job: JsonObject, { manual = false }: { manual?: boolean }
|
||||
lastFailedCount: Number(summary.failedCount || 0),
|
||||
lastManual: manual,
|
||||
})
|
||||
logInfo('[scheduler]', '定时任务执行完成', {
|
||||
const status = String(summary.status || 'ok')
|
||||
const failedCount = Number(summary.failedCount || 0)
|
||||
// 成功且无失败的周期空跑降到 debug(PDD 约 20s 一轮),手动触发与失败仍保留 info。
|
||||
const isQuietSuccess = !manual && status === 'ok' && failedCount <= 0 && job.type !== 'data_retention'
|
||||
const doneLog = isQuietSuccess ? logDebug : logInfo
|
||||
doneLog('[scheduler]', '定时任务执行完成', {
|
||||
jobId,
|
||||
type: job.type,
|
||||
status: String(summary.status || 'ok'),
|
||||
status,
|
||||
...(job.type === 'data_retention'
|
||||
? {
|
||||
rawPayloadRows: Number(summary.rawPayloadRows || 0),
|
||||
|
||||
Reference in New Issue
Block a user