Size: a a a

Django [ru] #STAY HOME

2019 November 07

AS

Alexandr Stefanitsky-Mozdor in Django [ru] #STAY HOME
Типо /?update_token=uuid
источник

AS

Alexandr Stefanitsky-Mozdor in Django [ru] #STAY HOME
Тогда токен будет в сохранности более-менее
источник

p

pavel in Django [ru] #STAY HOME
ща у фронта спрошу как лушче сделать
источник

p

pavel in Django [ru] #STAY HOME
А какое среднее время ответа Апишки у вас? в мс?
источник

А

Алексей in Django [ru] #STAY HOME
pavel
А какое среднее время ответа Апишки у вас? в мс?
если ты тут, а сервер через полземного шара, то физические законы против тебя
источник

p

pavel in Django [ru] #STAY HOME
Алексей
если ты тут, а сервер через полземного шара, то физические законы против тебя
ну предположми локально)
источник

А

Алексей in Django [ru] #STAY HOME
pavel
ну предположми локально)
зависит от сложности выборки и обема и объема базы, где-то и почти полсекунды можно хапнуть легко
источник

p

pavel in Django [ru] #STAY HOME
Алексей
зависит от сложности выборки и обема и объема базы, где-то и почти полсекунды можно хапнуть легко
полсекунты это 500мс?)
источник

А

Алексей in Django [ru] #STAY HOME
pavel
полсекунты это 500мс?)
ну, да, 300-400
источник

A

Antoha in Django [ru] #STAY HOME
Объясните что делаю не так.

Значит есть джанго 1.11.13 версии, юзер заходит по ссылке для подтверждения почты, после чего ему почту подтверждает и тут же перекидует на главную страницу.
Я нашел функцию, которая получает сигнал confirm_email и делает отправку в ответ 2 писем с данными пользователя(для авториции + фтп логин и пароль)
Я добавил функцию на этот же сигнал, которая перезапускает службу фтп. (иначе новый юзер, хоть и получил данные от фтп, но на фтп зайти не сможет)
Но вылетает баг, юзер заходит потверждать почту, идет заддержка в ~5 сек (служба перезапускается), после чего видит на странице internal server error (500), но если страницу перезагрузить, то его авторизует и перекидует на home page.
Редирект и респонса функции писал после вызова subprocess, но результата не дают. В логах вижу
TimeoutExpired at /accounts/confirm-email/MTcOQ:1iSxw:VUKNOOj67jCSbmZsKhdoHJOno4/
Command 'sudo service ftp restart' timed out after 5 seconds

Я как раз и ставил таймаут на 5 сек, иначе перезапуск идет слишком долго и идет обрыв активных подключений(5 секунд на переподключение у Фтп дается), после чего вообще выдает ошибку уже nginx
источник

p

pavel in Django [ru] #STAY HOME
Алексей
ну, да, 300-400
ну то есть если у мея 50-70 - это норм? на простом put запросе
источник

A

Antoha in Django [ru] #STAY HOME
Подкинули идею сделать автоматическую перезагрузку страницы, но как уже писал выше, редирект функцию писал, либо ничего не происходит, либо пишет обратно ошибку Internal Server Error
источник

А

Алексей in Django [ru] #STAY HOME
pavel
ну то есть если у мея 50-70 - это норм? на простом put запросе
наверное
источник
2019 November 08

AS

Alexandr Stefanitsky-Mozdor in Django [ru] #STAY HOME
pavel
А какое среднее время ответа Апишки у вас? в мс?
Хз, а это сильно важно? Не думаю, что такой запрос займет более 2х секунд
источник

AS

Alexandr Stefanitsky-Mozdor in Django [ru] #STAY HOME
Antoha
Объясните что делаю не так.

Значит есть джанго 1.11.13 версии, юзер заходит по ссылке для подтверждения почты, после чего ему почту подтверждает и тут же перекидует на главную страницу.
Я нашел функцию, которая получает сигнал confirm_email и делает отправку в ответ 2 писем с данными пользователя(для авториции + фтп логин и пароль)
Я добавил функцию на этот же сигнал, которая перезапускает службу фтп. (иначе новый юзер, хоть и получил данные от фтп, но на фтп зайти не сможет)
Но вылетает баг, юзер заходит потверждать почту, идет заддержка в ~5 сек (служба перезапускается), после чего видит на странице internal server error (500), но если страницу перезагрузить, то его авторизует и перекидует на home page.
Редирект и респонса функции писал после вызова subprocess, но результата не дают. В логах вижу
TimeoutExpired at /accounts/confirm-email/MTcOQ:1iSxw:VUKNOOj67jCSbmZsKhdoHJOno4/
Command 'sudo service ftp restart' timed out after 5 seconds

Я как раз и ставил таймаут на 5 сек, иначе перезапуск идет слишком долго и идет обрыв активных подключений(5 секунд на переподключение у Фтп дается), после чего вообще выдает ошибку уже nginx
Сигнал вызывает таск или тупо действие?
источник

A

Antoha in Django [ru] #STAY HOME
Alexandr Stefanitsky-Mozdor
Сигнал вызывает таск или тупо действие?
Действие, это сигнал allauth.account.signals.email_confirmed(request, email_address)
Вот исходники модели, где сигнал посылается https://github.com/pennersr/django-allauth/blob/master/allauth/account/models.py
Без ссылки, то вот код
   def send(self, request=None, signup=False):
       get_adapter(request).send_confirmation_mail(request, self, signup)
       self.sent = timezone.now()
       self.save()
       signals.email_confirmation_sent.send(sender=self.__class__,
                                            request=request,
                                            confirmation=self,
                                            signup=signup)
источник

AS

Alexandr Stefanitsky-Mozdor in Django [ru] #STAY HOME
Antoha
Действие, это сигнал allauth.account.signals.email_confirmed(request, email_address)
Вот исходники модели, где сигнал посылается https://github.com/pennersr/django-allauth/blob/master/allauth/account/models.py
Без ссылки, то вот код
   def send(self, request=None, signup=False):
       get_adapter(request).send_confirmation_mail(request, self, signup)
       self.sent = timezone.now()
       self.save()
       signals.email_confirmation_sent.send(sender=self.__class__,
                                            request=request,
                                            confirmation=self,
                                            signup=signup)
Вызывай таск, тогда не должно зависать и падать с ошибкой при открытии ссылки на подтверждение почты
источник

p

pavel in Django [ru] #STAY HOME
Какие форматы данных Вы знаете, кроме JSON, XML?
источник

N

N1LEX in Django [ru] #STAY HOME
не подскажете почему статику не видит? в ссылке пишу {% static 'blabla' %}
шаблон его также интерпретирует тобишь не переводит в ссылку
источник

A

Antoha in Django [ru] #STAY HOME
Alexandr Stefanitsky-Mozdor
Вызывай таск, тогда не должно зависать и падать с ошибкой при открытии ссылки на подтверждение почты
Правильно ли я тебя понял, мне нужно добавить @task (или другой тип) перед функцией, которая перезапускает фтп?
Вот попробовал с shared_task, но толку нет, вот что получилось
https://dpaste.de/dN5R#L9
Если туплю, то скажи в чем)
Сам недавно впервые встретился с celery и redis
источник