XQueue and LMS

The LMS can communicate with the XQueue through an HTTP POST request to the URL http://SERVER-IP/xqueue/submit. The XQueue pushes a response back to the LMS with an HTTP POST request to the callback URL.

XQueue and external graders

Passive graders wait for the XQueue to send them submissions. After that, they respond synchronously with a graded response. The basic workflow comprises the following stages:

The LMS sends messages to a particular queue.

XQueue checks its settings and finds that the queue has a URL associated with it. XQueue forwards the message to that URL.

The passive grader receives a POST request from the XQueue and responds synchronously with the graded response.

XQueue forwards the graded response to the callback URL the LMS provided in its original message.

NOTE: The Bitnami Open edX Stack does not include any passiver grader.

Active graders pull messages off the XQueue and push responses back to the XQueue. The basic workflow comprises the following stages:

The test sends messages to a particular queue.

The active grader polls the XQueue by using a REST-like interface. When it receives a submission, it pushes a response back to the XQueue, also using a REST-like interface.