MessagingManager
Contains methods for processing jobs from worker queues and subscribed channels
Properties
Functions
Cleans any reserved jobs from reserved queue
Names of the statuses required
Deletes job of jobName from graderReservedQueue
Retrieve the set of all submission ids under assignmentConfigId that are still undergoing decompression
Gets next job from graderQueue
Common logging for failing to connect to the messenger
Runs block, retrying every period set by waitUntilReconnect until the operation succeeds.
Always run block, and executes resetBlock when an exception occurs.
Generate the status string for the grading-in-progress state
Pops and parse a queued job to a JobRequest
Push jobs as jobMessage to queueName for external system components to consume
Push jobs as jobMessage to Messenger.apiQueue
Push jobs as jobMessage to Messenger.graderQueue
Blocking queue to consume incoming jobs on Messenger.graderQueue
Step function to process one job from the Messenger.graderQueue
Step function to process one provided message from the subscription channels
Update the status string of submissionId under assignmentConfigId to status if it is not-null, or delete the key submissionId to nil
if status is null, to indicate this submission is no longer active
Blocking subscribe to Job.subscriptions channels on Redis