More granular error handling

+ task queue refactoring
This commit is contained in:
2025-08-17 15:26:59 +03:00
parent 8eddab4455
commit 12b16b3749
10 changed files with 262 additions and 157 deletions

View File

@@ -7,6 +7,7 @@ import (
type TranscribeJob struct {
Id string
State string
Source string
FileID *string
IsError bool
ErrorText *string
@@ -15,6 +16,8 @@ type TranscribeJob struct {
DelayTime *time.Time
RecognitionOpID *string // ID операции распознавания в Yandex Cloud
TranscriptionText *string // Результат распознавания
TgChatId *int64 // Telegram: в какой чат отправить результат распознавания
TgReplyMessageId *int // Telegram: с каким сообщением связать результат распознавания
CreatedAt time.Time
UpdatedAt time.Time
}
@@ -27,6 +30,14 @@ const (
StateFailed = "failed"
)
const (
SourceUnknown = "unknown"
SourceApi = "api"
SourceTelegram = "telegram"
)
// Переводит задачу в новое состояние, при этом очищает все
// служебные поля предыдущего состояния, как-то время задержки, информацию о воркере и тд
func (j *TranscribeJob) MoveToState(state string) {
j.State = state
j.DelayTime = nil