690619:0958 239 #03
CI / CD Pipeline / build (push) Successful in 7m1s
CI / CD Pipeline / deploy (push) Failing after 20m21s

This commit is contained in:
2026-06-19 09:58:58 +07:00
parent d5964eb770
commit 135f4d1171
2 changed files with 8 additions and 6 deletions
@@ -125,12 +125,13 @@ export class VramMonitorService {
this.logger.warn( this.logger.warn(
`Failed to get VRAM status: ${err instanceof Error ? err.message : String(err)}` `Failed to get VRAM status: ${err instanceof Error ? err.message : String(err)}`
); );
// เปลี่ยนจาก pessimistic เป็น optimistic: สมมติว่าไม่มี model load เมื่อ query ล้มเหลว
return { return {
totalVramMb: this.totalVramMb, totalVramMb: this.totalVramMb,
usedVramMb: this.totalVramMb, usedVramMb: 0,
freeVramMb: 0, freeVramMb: this.totalVramMb,
loadedModels: [], loadedModels: [],
hasCapacity: false, hasCapacity: true, // สมมติว่ามี capacity เมื่อ query ล้มเหลว
}; };
} }
} }
@@ -59,12 +59,13 @@ describe('VramMonitorService', () => {
expect(headroom.mainModelVramMb).toBe(4096); // 4GB main model (4096MB) expect(headroom.mainModelVramMb).toBe(4096); // 4GB main model (4096MB)
}); });
it('ควรคำนวณ headroom เป็น safe default (0 available) เมื่อ Ollama query ล้มเหลว', async () => { it('ควรคำนวณ headroom เป็น optimistic fallback (full available) เมื่อ Ollama query ล้มเหลว', async () => {
mockedAxios.get.mockRejectedValue(new Error('Connection timeout')); mockedAxios.get.mockRejectedValue(new Error('Connection timeout'));
const headroom = await service.getVramHeadroom(); const headroom = await service.getVramHeadroom();
expect(headroom.querySuccess).toBe(false); expect(headroom.querySuccess).toBe(false);
expect(headroom.availableMb).toBe(0); // เปลี่ยนจาก pessimistic เป็น optimistic: สมมติว่าไม่มี model load เมื่อ query ล้มเหลว
expect(headroom.usedMb).toBe(8192); expect(headroom.availableMb).toBe(8192);
expect(headroom.usedMb).toBe(0);
expect(headroom.mainModelVramMb).toBe(0); expect(headroom.mainModelVramMb).toBe(0);
}); });
}); });