/
AngelCareMe
/
task_queue
Обзор
Документация
Войти
/
AngelCareMe
/
task_queue
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/adapter/queue/task_queue.go
45 строк
899 B
AngelCareMe
done
28 июл 2025, 21:07
28 июл 2025, 21:07
c70014b
Код
Авторство
О чём код?
package queue import ( "context" "task-queue/internal/entity" "time" ) type TaskQueue interface { // add task in queue Enqueue(ctx context.Context, task *entity.Task) error // extract task by queue Dequeue(ctx context.Context) (*DequeuedTask, error) // access task Ack(ctx context.Context, taskID string) error // mark task by declined Nack(ctx context.Context, taskID, reason string) error // planning task retry Retry(ctx context.Context, taskID string, delay time.Duration) error // returning task status in queue GetStatus(ctx context.Context, taskID string) (TaskStatus, error) // close queue connect Close() error } // returned task type DequeuedTask struct { Task *entity.Task ReceiptID string } // task status in queue type TaskStatus struct { Status entity.TaskStatus Retry int Delay time.Duration Enqueued time.Time Processed time.Time }