Communicating with Endpoints through a ReST API that is provided by leshan is slow. There can be several scenarios where an endpoints takes time to acknowledge (slow network, offline Endpoint, Endpoint waits for next eDRX Interval). The ReST call stays open for this time, until a timeout (up to several min) occurs.
It is essential to handle those ReST API calls in an asynchronous way so that the Django app can operate efficiently. API calls that are executed asynchronously via Celery still have access to Djangos database model and can update the result in the database after completion.
Based on #34
Communicating with Endpoints through a ReST API that is provided by leshan is slow. There can be several scenarios where an endpoints takes time to acknowledge (slow network, offline Endpoint, Endpoint waits for next eDRX Interval). The ReST call stays open for this time, until a timeout (up to several min) occurs.
It is essential to handle those ReST API calls in an asynchronous way so that the Django app can operate efficiently. API calls that are executed asynchronously via Celery still have access to Djangos database model and can update the result in the database after completion.