CUGetReg Computation is a backend for performing CPU-intensive tasks. The system is designed with following ideas:
- Complementing Main NodeJS Backend: NodeJS is not good at CPU-intensive task, so by off-loading the tasks to this backend, the task can be done more efficiently.
- Multi Processing: This backend use Multi-Processing Pool to maximize throughput of tasks processing.
- gRPC: To expose API for the main backend. This backend use gRPC to provides self-describing API
Currently, this backend handles:
- Course Recommendation System
To start contributing to this repository:
- Create VirtualEnv
- ::
- python -m venv myvenv source myvenv/bin/activate
- Install the package
- ::
- make init
- Config the server: Copy
config.template.ini
toconfig.ini
and modify as needed. - Launch the server
- ::
- python -m cgrcompute.server
- Typing are usually describe either by unit-test or type-hint.
- Some functionality may requires external service, I'm working on how to fix that.
- Drill can be proxied.