A node.js service that verifies the correctness of assembly
programms. The application consumes GradingJobMessages from
a RabbitMQ queue, which consists of an assembly source code and
the required information to retrieve the related test cases. After
running the test cases the result is stored to the blocksembler database.
To get started with the Assembler Programming Learning Environment, follow these steps:
-
Clone the Repository:
git clone https://github.com/Blocksembler/blocksembler-submission-grader.git
-
Install Dependencies: Navigate to the project directory and install the necessary dependencies.
npm install
-
Run the application:
npm run start
Blocksembler is also available on Docker Hub. To get started, follow these steps:
- Build docker image:
docker build -t blocksembler/submission-grader . - Run the Container:
docker run -d --name submission-grader blocksembler/submission-grader
| Name | Default | Description |
|---|---|---|
BLOCKSEMBLER_ARCHITECTURE |
anna |
Identifier of the architecture plugin to load (e.g., anna). |
BLOCKSEMBLER_DB_URI |
postgres://postgres:postgres@localhost/blocksembler |
Connection string for the PostgreSQL database used by Blocksembler. |
BLOCKSEMBLER_MQ_URI |
amqp://blocksembler:blocksembler@localhost:5672/blocksembler |
Connection URI for the RabbitMQ message broker used by Blocksembler. |
BLOCKSEMBLER_GRADING_JOB_QUEUE |
grading-jobs |
Name of the RabbitMQ queue from which grading jobs are consumed. |
BLOCKSEMBLER_GRADER_MAX_STEPS |
100000 |
Maximum number of execution steps allowed per grading job (safety limit). |
BLOCKSEMBLER_FAILED_SUBMISSION_PENALTY |
1000 * 60 |
Penalty for failed submissions (in milliseconds). |
Contributions to this project are welcome! If you have ideas for new features, improvements, or bug fixes, feel free to open an issue or submit a pull request.
Florian Wörister | Universität Wien
