problem statement

API calls to third-party providers can degrade the overall performance of a web application due to delayed responses or unsuccessful requests

a solution could be to pass the tasks onto a queuing system, freeing the web server up to keep on responding to new requests

a possible way to implement this is via celery and django

polling

image gotten from here

websockets

image gotten from here

websocket implementation on django is handled by django channels