package application
import "github.com/go-arrower/arrower/contexts/admin/internal/application"
Index ¶
- Variables
- func NewDeleteJobCommandHandler(repo jobs.Repository) app.Command[DeleteJobCommand]
- func NewGetQueueQueryHandler(repo jobs.Repository) app.Query[GetQueueQuery, GetQueueResponse]
- func NewGetWorkersQueryHandler(repo jobs.Repository) app.Query[GetWorkersQuery, GetWorkersResponse]
- func NewJobTypesForQueueQueryHandler(queries *models.Queries) app.Query[JobTypesForQueueQuery, []jobs.JobType]
- func NewListAllQueuesQueryHandler(repo jobs.Repository) app.Query[ListAllQueuesQuery, ListAllQueuesResponse]
- func NewPruneJobHistoryRequestHandler( queries *models.Queries, ) app.Request[PruneJobHistoryRequest, PruneJobHistoryResponse]
- func NewScheduleJobsCommandHandler(queries *models.Queries) app.Command[ScheduleJobsCommand]
- func NewVacuumJobTableRequestHandler(db *pgxpool.Pool) app.Request[VacuumJobTableRequest, VacuumJobTableResponse]
- type App
- type DeleteJobCommand
- type GetQueueQuery
- type GetQueueResponse
- type GetWorkersQuery
- type GetWorkersResponse
- type JobPayload
- type JobTypesForQueueQuery
- type ListAllQueuesQuery
- type ListAllQueuesResponse
- type PruneJobHistoryRequest
- type PruneJobHistoryRequestHandler
- type PruneJobHistoryResponse
- type ScheduleJobsCommand
- type VacuumJobTableRequest
- type VacuumJobTableResponse
Variables ¶
Functions ¶
func NewDeleteJobCommandHandler ¶
func NewDeleteJobCommandHandler(repo jobs.Repository) app.Command[DeleteJobCommand]
func NewGetQueueQueryHandler ¶
func NewGetQueueQueryHandler(repo jobs.Repository) app.Query[GetQueueQuery, GetQueueResponse]
func NewGetWorkersQueryHandler ¶
func NewGetWorkersQueryHandler(repo jobs.Repository) app.Query[GetWorkersQuery, GetWorkersResponse]
func NewJobTypesForQueueQueryHandler ¶
func NewJobTypesForQueueQueryHandler(queries *models.Queries) app.Query[JobTypesForQueueQuery, []jobs.JobType]
func NewListAllQueuesQueryHandler ¶
func NewListAllQueuesQueryHandler(repo jobs.Repository) app.Query[ListAllQueuesQuery, ListAllQueuesResponse]
func NewPruneJobHistoryRequestHandler ¶
func NewPruneJobHistoryRequestHandler( queries *models.Queries, ) app.Request[PruneJobHistoryRequest, PruneJobHistoryResponse]
func NewScheduleJobsCommandHandler ¶
func NewScheduleJobsCommandHandler(queries *models.Queries) app.Command[ScheduleJobsCommand]
func NewVacuumJobTableRequestHandler ¶
func NewVacuumJobTableRequestHandler(db *pgxpool.Pool) app.Request[VacuumJobTableRequest, VacuumJobTableResponse]
Types ¶
type App ¶
type App struct { PruneJobHistory app.Request[PruneJobHistoryRequest, PruneJobHistoryResponse] VacuumJobTable app.Request[VacuumJobTableRequest, VacuumJobTableResponse] DeleteJob app.Command[DeleteJobCommand] GetQueue app.Query[GetQueueQuery, GetQueueResponse] GetWorkers app.Query[GetWorkersQuery, GetWorkersResponse] JobTypesForQueue app.Query[JobTypesForQueueQuery, []jobs.JobType] ListAllQueues app.Query[ListAllQueuesQuery, ListAllQueuesResponse] ScheduleJobs app.Command[ScheduleJobsCommand] }
App is a dependency injection container.
type DeleteJobCommand ¶
type DeleteJobCommand struct { JobID string }
type GetQueueQuery ¶
type GetQueueResponse ¶
type GetWorkersQuery ¶
type GetWorkersQuery struct{}
type GetWorkersResponse ¶
type GetWorkersResponse struct { Pool []jobs.WorkerPool Schedules []jobs.Schedule }
type JobPayload ¶
type JobPayload struct { // Carrier contains the otel tracing information. Carrier propagation.MapCarrier `json:"carrier"` // JobData is the actual data as string instead of []byte, // so that it is readable more easily when assessing it via psql directly. JobData interface{} `json:"jobData"` }
type JobTypesForQueueQuery ¶
type ListAllQueuesQuery ¶
type ListAllQueuesQuery struct{}
type ListAllQueuesResponse ¶
type ListAllQueuesResponse struct { QueueStats map[jobs.QueueName]jobs.QueueStats }
type PruneJobHistoryRequest ¶
type PruneJobHistoryRequest struct { Days int }
type PruneJobHistoryRequestHandler ¶
type PruneJobHistoryRequestHandler app.Request[PruneJobHistoryRequest, PruneJobHistoryResponse]
type PruneJobHistoryResponse ¶
type ScheduleJobsCommand ¶
type ScheduleJobsCommand struct { RunAt time.Time Queue string JobType string Payload string Count int Priority int16 }
type VacuumJobTableRequest ¶
type VacuumJobTableRequest struct { Table string }
type VacuumJobTableResponse ¶
Source Files ¶
app.go delete-job.usecase.go get-job-types-for-queue.usecase.go get-queue.usecase.go get-workers.usecase.go list-all-queues.go prune-job-history.usecase.go schedule-new-job.usecase.go vacuum-job-table.usecase.go
- Version
- v0.0.0-20250311203644-ab26c1152cb4 (latest)
- Published
- Mar 11, 2025
- Platform
- linux/amd64
- Imports
- 14 packages
- Last checked
- 9 minutes ago –
Tools for package owners.