Make cromper requests via backend asynchronous

Open
#2,155 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
django, python
Domain
api, backend

Research direction

Start by locating the Django handlers that call cromper’s /compile, /diff, /assemble, and /disassemble endpoints, then read how those requests are sent and handled. Make those calls asynchronous so Django can serve other incoming requests while cromper responds; done when all four endpoints use the asynchronous path and their existing behavior is preserved.

Written by the indexing model from the issue text.

Description

Django / gunicorn is singlethreaded. We workaround that limitation by running multiple workers, but this still means that Django will sit waiting for a response from cromper instead of being able to service other incoming requests.

Try to wire through async handlers for calls that django makes to the /compile, /diff, /assemble, /disassemble endpoints of cromper.

Dominant language
TypeScript
Stars
622
Forks
159
Avg merge
10h 18m
Merged PRs (30d)
34

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from decompme/decomp.me

All issues in decompme/decomp.me

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.