• На одном сервере два сайта. Обоим нужна celery. Как настроить?

    @andrewshkovskii
    1. Правильно настроить celery для django
    2. Использовать redis для хранения задач в celery (нет никакой необходимости использовать sql БД для хранения очередей celery)
    3. Использовать supervisor для запуска celery.

    Покажите, для начала, конфигурации для celery для двух ваших проектов.
    Ответ написан
    Комментировать
  • Есть ли генератор отчетов для Python?

    @andrewshkovskii
    Я бы попробовал HTML-отчеты и перегонять их в PDF с помощью wkhtmltopdf. Вполне рабочая и быстрая схема.
    Ответ написан
    Комментировать
  • Переход с Django Templates на Jinja2?

    @andrewshkovskii
    Рекомендовал бы посмотреть в сторону wheezy.templates, если уж используете шаблонизатор на бекенде.
    Во много раз быстрее имеющихся шаблонизаторов.
    Но прийдется хорошенько поменять логику построения шаблонов и парадигму шаблонизаторов после Django-подобных шаблонизаторов.
    (Есть несколько недостатков, но они решаемы. В частности - автоматический экспейп).
    Если интересно - обращайтесь. Не так давно перевел очень большой проект на этот шаблонизатор и прирост производительности от 3 до 5 раз(иногда и до 10 доходило в шаблонах где много инклюдов).
    Ответ написан
    3 комментария
  • Nginx, uwsgi и django — upstream timed out на get/post запросы

    @andrewshkovskii Автор вопроса
    В общем проблема была в том, что nginx собрался на старом ядре (2010 год..) и без поддержки accept4 как и написано в логах.
    Обновил ядро, пересобрал — все заработало.
    Ответ написан
    Комментировать
  • Nginx+django проблем отдачи приватных статик-файлов

    @andrewshkovskii Автор вопроса
    Решено конфигом
        server {
    
            listen 80;
            gzip off;
            expires off;
            error_log /usr/local/Cellar/nginx/1.2.5/logs/error.log debug;
    
            location /static/ {
                add_header X-Static hit;
                autoindex on;
                expires off;
                root /Users/andrewshkovskii/workspace/ip_pbx/;
            }
    
            location / {
                proxy_pass       http://localhost:8000;
                rewrite ^/audiofiles/get/(\d+)/ /audiofiles/serve/$1/ last;
            }
    
            location ~ /var/ip_pbx/users_andrewshkovskii/(\d+)/(audio|calls)/(.*) {
                internal;
                root   /;
            }
        }
    
    


    Т.е. надо было задать правильный re для локейшена с файлами.
    Ответ написан
  • Посоветуйте, пожалуйста, ноутбук. Есть ли вообще такие?

    @andrewshkovskii
    Возможно ли, и если возможно, то пожалуйста приведите небольшой пример того как можно отфильтровать возможные Fk для модели в django с такой иерархией:
    (Не совсем понимаю как это можно сделать через Limit_choices_to с помощью Q()/F())
    Server < — Conf < — s_conf -> < — context

    Server < — e_conf < — context

    context_FK может быть только тот, кот. есть в модели e_conf для одного и того же Server для s_conf и e_conf;
    Проще говоря, создавая инстанс s_conf я могу задать только тот context_id для неё, кот. есть в таблице e_conf для одного и того же Server.
    Через форму или вьюху — вариант, но хотелось бы что бы через shell и в коде тоже валидировалось автоматически.
    Ответ написан