diff options
Diffstat (limited to 'backend/taskqueue')
| -rw-r--r-- | backend/taskqueue/queue.go | 78 | ||||
| -rw-r--r-- | backend/taskqueue/tasks.go | 8 |
2 files changed, 80 insertions, 6 deletions
diff --git a/backend/taskqueue/queue.go b/backend/taskqueue/queue.go index 53ec6d6..b7d7381 100644 --- a/backend/taskqueue/queue.go +++ b/backend/taskqueue/queue.go @@ -20,6 +20,80 @@ func (q *Queue) Close() { q.client.Close() } -func (q *Queue) Enqueue(task *asynq.Task, opts ...asynq.Option) (*asynq.TaskInfo, error) { - return q.client.Enqueue(task, opts...) +func (q *Queue) EnqueueTaskCreateSubmissionRecord( + gameID int, + userID int, + code string, + codeSize int, +) error { + task, err := newTaskCreateSubmissionRecord( + gameID, + userID, + code, + codeSize, + ) + if err != nil { + return err + } + _, err = q.client.Enqueue(task) + return err +} + +func (q *Queue) EnqueueTaskCompileSwiftToWasm( + gameID int, + userID int, + code string, + submissionID int, +) error { + task, err := newTaskCompileSwiftToWasm( + gameID, + userID, + code, + submissionID, + ) + if err != nil { + return err + } + _, err = q.client.Enqueue(task) + return err +} + +func (q *Queue) EnqueueTaskCompileWasmToNativeExecutable( + gameID int, + userID int, + code string, + submissionID int, +) error { + task, err := newTaskCompileWasmToNativeExecutable( + gameID, + userID, + code, + submissionID, + ) + if err != nil { + return err + } + _, err = q.client.Enqueue(task) + return err +} + +func (q *Queue) EnqueueTaskRunTestcase( + gameID int, + userID int, + code string, + submissionID int, + testcaseID int, +) error { + task, err := newTaskRunTestcase( + gameID, + userID, + code, + submissionID, + testcaseID, + ) + if err != nil { + return err + } + _, err = q.client.Enqueue(task) + return err } diff --git a/backend/taskqueue/tasks.go b/backend/taskqueue/tasks.go index 679b6a0..990ce65 100644 --- a/backend/taskqueue/tasks.go +++ b/backend/taskqueue/tasks.go @@ -26,7 +26,7 @@ type TaskPayloadCreateSubmissionRecord struct { CodeSize int } -func NewTaskCreateSubmissionRecord( +func newTaskCreateSubmissionRecord( gameID int, userID int, code string, @@ -55,7 +55,7 @@ type TaskPayloadCompileSwiftToWasm struct { SubmissionID int } -func NewTaskCompileSwiftToWasm( +func newTaskCompileSwiftToWasm( gameID int, userID int, code string, @@ -84,7 +84,7 @@ type TaskPayloadCompileWasmToNativeExecutable struct { SubmissionID int } -func NewTaskCompileWasmToNativeExecutable( +func newTaskCompileWasmToNativeExecutable( gameID int, userID int, code string, @@ -114,7 +114,7 @@ type TaskPayloadRunTestcase struct { TestcaseID int } -func NewTaskRunTestcase( +func newTaskRunTestcase( gameID int, userID int, code string, |
