Тупо сделать форк в Джанго - это не работает.
Потому что это архитектурная ошибка, которую вы допускаете.
Файловые дескрипторы (и сокеты в том числе) не работают напрямую в создаваемом мультипроцессорном окружении. По своей сути. Это эксклюзивно блокируемый ресурс.
Есть простое правило, по которому можно заранее знать (или узнать), что будет работать, а что нет.
Если объект может быть сериализирован с помощью pickle, то его можно передавать между процессами, иначе - он потребует специальной обработки.
Для сокетов, соединений с БД, файлов и т.п.
Примером специальной обработки может быть закрытие и открытие заново соединения.
Поэтому для общения между родительским и дочерним процессом используются очереди и пайпы.
Для их реализации используют удобные системы-обертки типа Celery.
А для управления передачей данных (объектов) используются менеджеры, обеспечивающие эксклюзивный доступ к данным (объектам), следят за их доступностью (сокет открыт/закрыт) и т.п.
Пример
http://dickbrouwer.com/post/32405801335/django-zeromq-and-celery-multiprocessing-gotchaЗЫ
Если у вас возникает ошибка
IOError: sys.stdout access restricted by mod_wsgi
обновите mod_wsgi.