#58 [WIP] PostgreSQL Backend

Closed
hz wants to merge 70 commits from postgres into master
hz commented 6 months ago

This is a start toward #46, which enables catsoop to store both its logs and its course content in a PostgreSQL database rather than on disk.

The main goal is to enable people running catsoop courses to decouple the checkers from the web server (which can, for example, help to stabilize timing of test cases in subjects like 6.009). This also enables dynamically scaling the number of checkers available, as multiple checkers (or multiple web servers) on different machines can be touching the same database as the same time.

The filesystem has been baked into things pretty deeply, so this is a big change, and I’ve tried to do it in a way that leaves things open to additional backends being implemented in the future.

It’s very much a work in progress, but I’m posting this now because this code is at least to a point where it is being used somewhere (6.145 this IAP for testing). I’ll keep updating here as things break.

This is a start toward #46, which enables catsoop to store both its logs and its course content in a PostgreSQL database rather than on disk. The main goal is to enable people running catsoop courses to decouple the checkers from the web server (which can, for example, help to stabilize timing of test cases in subjects like 6.009). This also enables dynamically scaling the number of checkers available, as multiple checkers (or multiple web servers) on different machines can be touching the same database as the same time. The filesystem has been baked into things pretty deeply, so this is a big change, and I've tried to do it in a way that leaves things open to additional backends being implemented in the future. It's very much a work in progress, but I'm posting this now because this code is at least to a point where it is being used somewhere (6.145 this IAP for testing). I'll keep updating here as things break.
hz added the
devops
label 6 months ago
hz added the
WIP
label 6 months ago
hz added the
enhancement
label 6 months ago
hz commented 1 month ago
Owner

Closing this in favor of #66 , for the reasons described in #46.

Closing this in favor of #66 , for the reasons described in #46.
hz closed this pull request 1 month ago
This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

This pull request currently doesn't have any dependencies.

Loading…
There is no content yet.