aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend/taskqueue/queue.go
diff options
context:
space:
mode:
Diffstat (limited to 'backend/taskqueue/queue.go')
-rw-r--r--backend/taskqueue/queue.go78
1 files changed, 76 insertions, 2 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
}