/
AngelCareMe
/
task_queue
Обзор
Документация
Войти
/
AngelCareMe
/
task_queue
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/usecase/usecase_interfaces.go
50 строк
1 KB
AngelCareMe
done
28 июл 2025, 21:07
28 июл 2025, 21:07
c70014b
Код
Авторство
О чём код?
package usecase import ( "context" "task-queue/internal/adapter/queue" "task-queue/internal/adapter/repository" "task-queue/internal/entity" ) // TaskRepository interface for working with task storage type TaskRepository interface { repository.TaskRepository repository.TaskStatistics repository.RepositoryHealthChecker } // TaskQueue interface for working with task queue type TaskQueue interface { queue.TaskQueue queue.QueueMetrics queue.QueueHealthChecker } // TaskUseCase defines business logic interface for working with tasks type TaskUseCase interface { // createTask creates new task and puts it to queue CreateTask(ctx context.Context, name, payload string, maxRetry, delay int) (*entity.Task, error) // getTask gets task by id GetTask(ctx context.Context, id string) (*entity.Task, error) // listTasks returns list of tasks with filtering ListTasks(ctx context.Context, filter repository.TaskFilter, limit, offset int) ([]*entity.Task, error) // retryTask retries task by putting it back to queue RetryTask(ctx context.Context, id string) error // deleteTask deletes task DeleteTask(ctx context.Context, id string) error // getStats returns task statistics GetStats(ctx context.Context) (*repository.TaskStats, error) // processTask processes task (called by worker) ProcessTask(ctx context.Context, task *entity.Task) error // healthCheck checks health of all components HealthCheck(ctx context.Context) error }