run-baijiahao-work-daily-import.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { initDatabase } from '../models/index.js';
  2. import { logger } from '../utils/logger.js';
  3. import { BaijiahaoWorkDailyStatisticsImportService } from '../services/BaijiahaoWorkDailyStatisticsImportService.js';
  4. /**
  5. * 用法:
  6. * - 全量:cd server && pnpm exec tsx src/scripts/run-baijiahao-work-daily-import.ts
  7. * - 单账号:cd server && pnpm exec tsx src/scripts/run-baijiahao-work-daily-import.ts <accountId>
  8. */
  9. async function main() {
  10. try {
  11. await initDatabase();
  12. const accountIdArg = process.argv[2];
  13. logger.info('[BJ WorkDaily] Manual run start...');
  14. if (accountIdArg) {
  15. const accountId = parseInt(accountIdArg, 10);
  16. if (isNaN(accountId)) {
  17. logger.error('[BJ WorkDaily] accountId 必须是数字');
  18. process.exit(1);
  19. }
  20. await BaijiahaoWorkDailyStatisticsImportService.runDailyImportForAccount(accountId);
  21. } else {
  22. await BaijiahaoWorkDailyStatisticsImportService.runDailyImport();
  23. }
  24. logger.info('[BJ WorkDaily] Manual run done.');
  25. process.exit(0);
  26. } catch (e) {
  27. logger.error('[BJ WorkDaily] Manual run failed:', e);
  28. process.exit(1);
  29. }
  30. }
  31. void main();