More granular error handling
+ task queue refactoring
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user