generated from fahricansecer/boilerplate-be
@@ -103,6 +103,23 @@ public class DatabaseService
|
||||
_logger.LogDebug("Project güncellendi: {Id} → {Status} ({Progress}%)", projectId, status, progress);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// RenderJob tablosundan durumu çeker.
|
||||
/// İptal edilmiş işleri atlamak için kullanılır.
|
||||
/// </summary>
|
||||
public async Task<string?> GetRenderJobStatus(string renderJobId)
|
||||
{
|
||||
await using var conn = new NpgsqlConnection(_connectionString);
|
||||
await conn.OpenAsync();
|
||||
|
||||
var sql = @"SELECT ""status"" FROM ""RenderJob"" WHERE ""id"" = @id";
|
||||
await using var cmd = new NpgsqlCommand(sql, conn);
|
||||
cmd.Parameters.AddWithValue("id", renderJobId);
|
||||
|
||||
var result = await cmd.ExecuteScalarAsync();
|
||||
return result?.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Render log kaydı ekler.
|
||||
/// </summary>
|
||||
|
||||
@@ -116,6 +116,14 @@ public class QueueConsumerService : BackgroundService
|
||||
|
||||
try
|
||||
{
|
||||
// İptal kontrolü: İşlem iptal edilmiş mi?
|
||||
var currentStatus = await _dbService.GetRenderJobStatus(job.RenderJobId);
|
||||
if (currentStatus == "CANCELLED")
|
||||
{
|
||||
_logger.LogInformation("⏭️ [Atlandı] Job iptal edilmiş — Project: {ProjectId}, RenderJob: {RenderJobId}", job.ProjectId, job.RenderJobId);
|
||||
return;
|
||||
}
|
||||
|
||||
// DB'de render job durumunu PROCESSING yap
|
||||
await _dbService.UpdateRenderJobStatus(
|
||||
job.RenderJobId, "PROCESSING", 0, "VIDEO_GENERATION",
|
||||
|
||||
Reference in New Issue
Block a user