Detail and List card update

This commit is contained in:
2025-11-27 15:56:21 +03:00
parent 602065a71c
commit 5222cceb81
7 changed files with 308 additions and 26 deletions

View File

@@ -92,14 +92,16 @@ class JobService {
this.io = io;
}
private emitStatus(jobId: string, payload: Partial<JobDocument>) {
private async emitStatus(jobId: string, payload: Partial<JobDocument>) {
if (!this.io) return;
const runCount = await JobRun.countDocuments({ job: jobId });
const body = {
jobId,
status: payload.status,
lastRunAt: payload.lastRunAt,
lastDurationMs: payload.lastDurationMs,
lastMessage: payload.lastMessage
lastMessage: payload.lastMessage,
runCount
};
this.io.to(`job:${jobId}`).emit("job:status", body);
this.io.emit("job:status", body);
@@ -130,7 +132,7 @@ class JobService {
});
await Job.findByIdAndUpdate(jobId, { status: "running", lastMessage: "Çalıştırılıyor..." });
this.emitStatus(jobId, { status: "running", lastMessage: "Çalıştırılıyor..." } as JobDocument);
await this.emitStatus(jobId, { status: "running", lastMessage: "Çalıştırılıyor..." } as JobDocument);
try {
const repoDir = await cloneOrPull(job, (line) => pushLog(line));
@@ -151,7 +153,7 @@ class JobService {
durationMs: duration,
logs: runLogs
});
this.emitStatus(jobId, {
await this.emitStatus(jobId, {
status: "success",
lastRunAt: new Date(),
lastDurationMs: duration,
@@ -172,7 +174,7 @@ class JobService {
logs: runLogs
});
pushLog(`Hata: ${(err as Error).message}`);
this.emitStatus(jobId, {
await this.emitStatus(jobId, {
status: "failed",
lastRunAt: new Date(),
lastDurationMs: duration,