
Denis
28.03.2017
22:28:46
Это все фронтендщики пусть делают
мне лень
Ну как говорится
они хотели

Google

Denis
28.03.2017
22:29:12
они получили

dima
29.03.2017
07:24:25
перезаписывать queryset скучно, cbv уныло

Сергей
29.03.2017
07:55:21
всем добрый день. вопрос такой..
в треде генерирую эксель файл(по запросу пользователя). большие файлы генерируются долго(минут 5 вполне реально)..
локально всё отрабатывает, на сервере gunicorn через какое-то время убивает один из воркеров и генерация файла останавливается..
куда можно копнуть? логи молчат, вижу только, что создался новый процесс..
в гуникорне
--error-logfile /path/to/project/error.log --access-logfile /path/to/project/access.log
воркера 3
увеличение timeout не помогает

Denis
29.03.2017
08:04:20
Копать в сторону timeout
Мб не там увеличиваете

Сергей
29.03.2017
08:05:04
в конфигах гуникорна увеличил

parikLS
29.03.2017
08:07:01
а в логах что

Сергей
29.03.2017
08:07:50
в логах только 1 запись появляется:
[2017-03-29 08:03:35 +0000] [18823] [INFO] Booting worker with pid: 18823

parikLS
29.03.2017
08:08:48
а где запись про то что воркер умирает

Сергей
29.03.2017
08:10:26
не знаю)) вижу, что он умирает, когда смотрю статус сервиса.. пид у одного из воркеров меняется, значит старый умирает, новый создается
log-level debug ничего интересного не рассказал

parikLS
29.03.2017
08:13:56
а ты уверен что умирает именно тот воркер который генерировал файл?

Сергей
29.03.2017
08:15:01
т.к. ничего в логах не вижу, логически додумал, что именно он умирает..
смотрел за генерацией файла, она останавливается, проверял после этого воркеры - один из них поменялся

Google

Сергей
29.03.2017
08:18:13
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'verbose': {
'format': '%(asctime)s %(levelname)s [%(name)s:%(lineno)s] %(module)s %(process)d %(thread)d %(message)s'
}
},
'handlers': {
'gunicorn': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'formatter': 'verbose',
'filename': os.path.join(BASE_DIR, 'logs', 'debug.log'),
'maxBytes': 1024 * 1024 * 100, # 100 mb
}
},
'loggers': {
'gunicorn.errors': {
'level': 'DEBUG',
'handlers': ['gunicorn'],
'propagate': True,
},
}
}
в debug.log тоже чисто

Artyom
29.03.2017
08:48:04
подскажите ктонибудь за CBV плиз, есть class Post(DetailView, CommentFormView), есть
class CommentFormView(FormView):
model = Comment
def form_valid(self, form):
comment = Comment.objects.create(text=self.request.POST['text'],
author=Profile.objects.get(user_id=self.request.user.id),
post=self.object)
comment.save()
Как правильно передать post в эту форму из Post?

Pavel
29.03.2017
08:54:22

Artyom
29.03.2017
08:55:04

Сергей
29.03.2017
09:07:42
понял корень проблемы.. воркер падает, потому что ему памяти не хватает)

Senpos
29.03.2017
09:16:45
Каким способом связывания views вы пользуетесь в urls.py?
В документации нашел пример (https://docs.djangoproject.com/en/1.10/topics/http/urls/#example), в котором импортят вьюхи и указывают нужную как views.my_view
Но что если я импортирую несколько вьюх?
Не будет ли конфликта имен?
Например
from app1 import views
from app2 import views
urlpatterns = [
url(r'^articles/2003/$', views.from_app1),
url(r'^articles/([0-9]{4})/$', views.from_app2),
]
Возможно предпочтительнее использовать include? С ним такой проблемы быть не должно

Dulat
29.03.2017
09:19:26
Либо import views as app1_views

Denis
29.03.2017
09:21:09

Сергей
29.03.2017
09:21:52
тут код оптимизировать и память увеличивать, если не поможет...

Denis
29.03.2017
09:22:31

Senpos
29.03.2017
09:23:26

Denis
29.03.2017
09:23:41

Eugene
29.03.2017
09:25:32
это же всегда было?:)

Dmytro
29.03.2017
09:27:12
Всем привет. Кто как добавляет синхронизацию вьюшек в Джанго админ панель? Django-celery-beat подойдет для этого или кто-то другими аппами пользуется? Кто что посоветует.

Denis
29.03.2017
09:27:50

parikLS
29.03.2017
09:32:21

Google

parikLS
29.03.2017
09:33:41

Askhat
29.03.2017
09:36:24
Ребят, кто часто работал с платежными системами? Кто нибудь можете объяснить как подключается система оплаты к мобильному приложению? Я в плане регистрации имею ввиду, где нужно указывать сайт где будет проводиться оплата. Если такового сайта нет? Есть только сервак на котором лежит api Можете step-by-step объяснить?

Dmytro
29.03.2017
09:49:09
ничего не понял
Нужно дергать вьюшку каждые n минут. Нужно задать через админку в Джанго какую вьюшку и через какое количество времени.

Denis
29.03.2017
10:37:42
celery beat
django cron

Artem
29.03.2017
11:03:35
как запилил такое?

Denis
29.03.2017
11:13:54

Eugene
29.03.2017
11:14:13
оно же всегда было оо

Denis
29.03.2017
11:14:33
2016.3 не показывает классы

Eugene
29.03.2017
11:14:48
Вроде показывал, хз

Denis
29.03.2017
11:14:54
У меня нет
еще кстати крутая штука
semantic higlightning
https://blog.jetbrains.com/pycharm/2017/01/make-sense-of-your-variables-at-a-glance-with-semantic-highlighting/

parikLS
29.03.2017
11:22:51
ааа
таки біло
галочка Show Members

Denis
29.03.2017
11:28:00
? лан
Я человек простой - в whats new написали я и включил

Google

Senpos
29.03.2017
11:42:15
Неплохая штука :)

parikLS
29.03.2017
11:42:59
таки да, хайлайт реально удобная штука

Senpos
29.03.2017
11:43:24
Кстати, а как работается с джангой в комьюнити версии пучарма?
Просто автокомплит питоновский?

parikLS
29.03.2017
11:44:34
походу да
рансервер из консольки

Senpos
29.03.2017
11:45:03
Студенческая лицензия не вечна :)

parikLS
29.03.2017
11:45:51
xDD

Serge
29.03.2017
12:15:22
Во вторник 1.11 будет говорят
Релиз

abc
29.03.2017
12:47:38
что там хорошего ?

Denis
29.03.2017
13:01:04

.
29.03.2017
13:33:30
Гайс, вот я работаю через ORM с бд, можно ли получить исполнение некоторых команд в виде SQL?

A
29.03.2017
13:34:24
Да

Eldar
29.03.2017
13:34:31
но более конкретно подсказать не смогу

amureki
29.03.2017
13:34:57
google django raw sql query

parikLS
29.03.2017
13:37:15

Google

.
29.03.2017
13:37:43

parikLS
29.03.2017
13:37:59
щас скажу тебе
вариант 1

Artem
29.03.2017
13:38:16
можно через extra, можно RawSQL, можно через курсоры

parikLS
29.03.2017
13:38:16
from django.db import connection
print connection.queries
вариант 2
print MyModel.objects.filter(name="my name").query
точно так же в дебагере все можно глянуть

Artem
29.03.2017
13:39:02

parikLS
29.03.2017
13:39:16
еще есть django-debug-toolbar, но я уже не помню показывает он чтото или нет

Artem
29.03.2017
13:39:31
показывает, но для API он мало годится

parikLS
29.03.2017
13:39:43
вообще не годится)
ну хз, мне ниразу не пригодился)

Artem
29.03.2017
13:40:00
поэтому там пользуюсь ЛОГГИНГом

parikLS
29.03.2017
13:40:17

Serge
29.03.2017
13:42:17
python manage.py sqlall
Остальное посмотреть можно через логи субд

.
29.03.2017
13:43:15

parikLS
29.03.2017
13:44:00