flownexus-lwm2m / flownexus

IoT server with LwM2M support
https://flownexus-lwm2m.github.io/flownexus
Apache License 2.0
3 stars 2 forks source link

Asynchronous communication with Endoints via celery tasks #37

Closed jonas-rem closed 4 months ago

jonas-rem commented 4 months ago

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.