feat(vm): hoàn tiền khi cấp VM lỗi, theo dõi job queue, uuid dịch vụ cho ticket, chuẩn hoá RAM addon

- VmProvisionException/VmProvisionRefund xử lý lỗi cấp phát VM
- QueueJobInspector + QueueMonitorController xem chi tiết job
- Thêm service uuid cho ticket, thời lượng cho activity_logs
- Migration chuẩn hoá RAM addon sang MB, trạng thái deleting cho snapshot

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
baodev0
2026-10-30 11:54:05 +07:00
co-authored by Claude Sonnet 5.5
parent 7136bec265
commit 62596d9063
32 changed files with 514 additions and 107 deletions
@@ -160,6 +160,10 @@ class RemoveSnapshot implements ShouldQueue
public function failed(\Throwable $exception)
{
ModuleSnapshot::where('id', $this->snapshotId)
->where('status', 'deleting')
->update(['status' => 'success', 'error_message' => $exception->getMessage()]);
Log::error('❌ Job RemoveSnapshot failed', [
'product_id' => $this->productId,
'snapshot_id' => $this->snapshotId,