Search code examples
djangoudphole-punching

Django and UDP server


I have a web server built with Django. I need to update some information in the same database used by Django specifically through a UDP connection.

What is the best approach to implement this?


Solution

  • First of all, use twisted to build a server to listen to UDP

    Secondly: If you have unique constraints you WILL run into database deadlock issues if there are multiple UDP clients so want to use some form of serialization for your DB writes - assuming your database transactions are somewhat atomic. Celery will probably do that for you, but remember to run the worker with --concurrency=1. Especially if your Django views do more than one .save() on a model instance.