Size: a a a

Django [ru] #STAY HOME

2019 November 05

A

Antoha in Django [ru] #STAY HOME
Подскажите лучший спрособ, для активации процесса (выполнения команды), паралельного с джангой.

Ситуация такая, необходимо, что бы при регистрации юзера рестарт фтп службы делался.

Я пробовал subprocces и os.system, при этом задержка примерно в минуту во втором варианте, а в первом 7 секунд примерно (при допустимых 4, что бы не было обрыва, кто уже подключён на момент рестарта)
источник

AS

Alexandr Stefanitsky-Mozdor in Django [ru] #STAY HOME
Antoha
Подскажите лучший спрособ, для активации процесса (выполнения команды), паралельного с джангой.

Ситуация такая, необходимо, что бы при регистрации юзера рестарт фтп службы делался.

Я пробовал subprocces и os.system, при этом задержка примерно в минуту во втором варианте, а в первом 7 секунд примерно (при допустимых 4, что бы не было обрыва, кто уже подключён на момент рестарта)
Celery + Redis
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Yegor Kowalew
смотрите, у меня в модели Profile есть One to One на модель юзера джанговскую.
Сериализатор такой:
class ProfileSerializer(serializers.HyperlinkedModelSerializer):
   class Meta:
       model = Profile
       fields = ['user', 'fullname', 'fullname_small', 'user_no']

на филд юзер ругается. Туда нужно писать на внутреннее поле?
в консоли Profile.objects.first().user что покажет?
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
Dan Tyan
возможно у Profile нет связи с User
источник

A

Andrey in Django [ru] #STAY HOME
{NotImplementedError}aggregate() + distinct(fields) not implemented.
как фиксить?
источник

A

Andrey in Django [ru] #STAY HOME
переписать квери так, чтобы не дистинкт использовался?
источник

A

Antoha in Django [ru] #STAY HOME
Antoha
Подскажите лучший спрособ, для активации процесса (выполнения команды), паралельного с джангой.

Ситуация такая, необходимо, что бы при регистрации юзера рестарт фтп службы делался.

Я пробовал subprocces и os.system, при этом задержка примерно в минуту во втором варианте, а в первом 7 секунд примерно (при допустимых 4, что бы не было обрыва, кто уже подключён на момент рестарта)
Я бы рестарт вообще не делал, но по не понятной мне причине, при создании юзера, ему даётся пароль и логин от фтп, но к фтп данные без перезапуска не подгружаються. Из-за чего и не удаётся подключится к фтп, у новых юзеров
источник

A

Antoha in Django [ru] #STAY HOME
Есть и то, и другое в проекте
источник

AS

Alexandr Stefanitsky-Mozdor in Django [ru] #STAY HOME
Antoha
Есть и то, и другое в проекте
Тогда создаешь таск и запускаешь при регистрации юзера (сигнал, либо во view)
источник

E

Enot in Django [ru] #STAY HOME
Хочу сделать, чтобы одно из двух полей могло быть установленно только один раз (для другого поля в паре). Т.е. не просто unique_together
Это возможно?
источник

E

Enot in Django [ru] #STAY HOME
Например, если значение в одном поле А, а в другом 0, то запретить встаку пары А и 1 (или чего угодно и А)
источник

A

Antoha in Django [ru] #STAY HOME
Alexandr Stefanitsky-Mozdor
Тогда создаешь таск и запускаешь при регистрации юзера (сигнал, либо во view)
Уже есть, внутри сабпроцессом перезапуск идёт службы, но не работает. Я взял строку с выполнением команды и вставил перезапуск после отправки сообщения, как только юзер подтвердил почту, но есть задержка о которой упоминал
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
Pavel Zagrebelin
в консоли Profile.objects.first().user что покажет?
показало фамилию первого пользователя
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
это я забил прям в сериализатор
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
и оно там все отработало
источник

A

Antoha in Django [ru] #STAY HOME
@stefanitsky, не рабочая реализация с помощью сигнала есть, кто-то пытался, и вручную функции сделать, но не проходит. Потому я и писал тупо напрямую вызов субпроцесса, без написании функции отдельно
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
Когда в филды пишу просто 'user', рест говорит:
Could not resolve URL for hyperlinked relationship using view name "user-detail". You may have failed to include the related model in your API, or incorrectly configured the lookup_field attribute on this field.
И тут я ваще в шоке
источник

AS

Alexandr Stefanitsky-Mozdor in Django [ru] #STAY HOME
Antoha
Уже есть, внутри сабпроцессом перезапуск идёт службы, но не работает. Я взял строку с выполнением команды и вставил перезапуск после отправки сообщения, как только юзер подтвердил почту, но есть задержка о которой упоминал
Тогда тебе нужно выжать максимум из настроек Redis и Celery, но не думаю, что это сильно уменьшит время, поэтому хз даже
источник

AS

Alexandr Stefanitsky-Mozdor in Django [ru] #STAY HOME
Antoha
@stefanitsky, не рабочая реализация с помощью сигнала есть, кто-то пытался, и вручную функции сделать, но не проходит. Потому я и писал тупо напрямую вызов субпроцесса, без написании функции отдельно
Сигнал на что, на создание юзера?
источник

A

Antoha in Django [ru] #STAY HOME
Alexandr Stefanitsky-Mozdor
Тогда тебе нужно выжать максимум из настроек Redis и Celery, но не думаю, что это сильно уменьшит время, поэтому хз даже
Ладно, путь поиска я уловил. Интересно, что если запустить чисто команду от юзера в консоли, подклювшись на сервер, то заддержки почти нет
источник