MCPcopy Create free account
hub / github.com/0PandaDEV/Ziit / processJob

Method processJob

server/utils/import-queue.ts:646–825  ·  view source on GitHub ↗
(job: QueueJob, workerId: number)

Source from the content-addressed store, hash-verified

644 }
645
646 private async processJob(job: QueueJob, workerId: number): Promise<void> {
647 try {
648 let result: any;
649
650 switch (job.type) {
651 case "wakatime-api":
652 if (!job.data.apiKey) {
653 throw new Error("API key is required for WakaTime import");
654 }
655
656 let wakatimeJob = this.getOrCreateJob(
657 job.id,
658 job.userId,
659 "wakatime-api",
660 `WakaTime API Import ${new Date().toISOString()}`,
661 );
662
663 result = await handleWakatimeImport(
664 job.data.apiKey,
665 job.userId,
666 wakatimeJob,
667 );
668 break;
669
670 case "wakatime-file":
671 if (!job.data.exportData || !job.data.jobId) {
672 throw new Error(
673 "Export data and job ID are required for WakaTime file import",
674 );
675 }
676
677 const existingJob = activeJobs.get(job.id);
678 if (existingJob) {
679 const daysWithData =
680 job.data.exportData.days?.filter(
681 (day) => day.heartbeats && day.heartbeats.length > 0,
682 ) || [];
683 updateJob(existingJob, {
684 status: ImportStatus.Processing,
685 current: 0,
686 total: daysWithData.length,
687 });
688 result = await handleWakatimeFileImport(
689 job.data.exportData,
690 job.userId,
691 existingJob,
692 );
693 } else {
694 const daysWithData =
695 job.data.exportData.days?.filter(
696 (day) => day.heartbeats && day.heartbeats.length > 0,
697 ) || [];
698 const fileJob = this.getOrCreateJob(
699 job.id,
700 job.userId,
701 "wakatime-file",
702 `WakaTime File Import ${new Date().toISOString()}`,
703 daysWithData.length,

Callers 1

createAsyncWorkerMethod · 0.95

Calls 10

getOrCreateJobMethod · 0.95
canParallelizeMethod · 0.95
createWorkChunksMethod · 0.95
handleWakatimeImportFunction · 0.90
handleWakatimeFileImportFunction · 0.90
prepareWakApiDataFunction · 0.90
handleLogFunction · 0.90
updateJobFunction · 0.85

Tested by

no test coverage detected