Size: a a a

Django [ru] #STAY HOME

2020 June 10

AD

Alex Dem in Django [ru] #STAY HOME
D. Ouhh
придётся тогда каждому юзеру создавать такие таски, и где их вызывать?
Либо по событию
Типа, при запросе на твой эндопоинт у тебя данные обновляются, а все эти "отягощающие события" закидываются таской в celery
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Artem Gubatenko
зачем? celery-beat задача. почитай
ок
источник

AD

Alex Dem in Django [ru] #STAY HOME
Alex Dem
Либо по событию
Типа, при запросе на твой эндопоинт у тебя данные обновляются, а все эти "отягощающие события" закидываются таской в celery
и там уже, в самом celery, делается запрос на внешний API и идет синхронизация данных
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Alex Dem
Поэтому, стоит отойти от идеи риалтайм, и синхронизировать БД твою и внешнего API раз в какое-то время по таске в celery
один раз синхронизировать всю дб (всех юезров), или лучше на каждого создать свою очередь тасков?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Alex Dem
Либо по событию
Типа, при запросе на твой эндопоинт у тебя данные обновляются, а все эти "отягощающие события" закидываются таской в celery
я так понял ему надо самые новые данные. При таком раскладе результат последнего запроса пользователь не получит)
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Artem Gubatenko
я так понял ему надо самые новые данные. При таком раскладе результат последнего запроса пользователь не получит)
+
источник

AD

Alex Dem in Django [ru] #STAY HOME
тогда мне кажется тут большая жопа в вопросе проектирования и красивого решения не будет
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Alex Dem
тогда мне кажется тут большая жопа в вопросе проектирования и красивого решения не будет
🙈
источник

DO

D. Ouhh in Django [ru] #STAY HOME
окей, если всё таки обновлять бд раз в какое-то время, это будет +- вменяемо с точки зрения проектирования?
источник

DO

D. Ouhh in Django [ru] #STAY HOME
хотя это компромисс очень большой..(
источник

DO

D. Ouhh in Django [ru] #STAY HOME
а почему, ещё раз, нельзя на каждом запросе проводить синхронизацию?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
D. Ouhh
один раз синхронизировать всю дб (всех юезров), или лучше на каждого создать свою очередь тасков?
если данных много, думаю, тебе лучше как-то разбивать получаемые данные. Уже сам смотри, мы не знаем всей твоей задачи.

но celery-beat обычно подразумевает что ты не запускаешь задачу по событию, а просто выставил период и она выполняется.
Хотя наверно можно и по событию, но смысла не вижу
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
D. Ouhh
а почему, ещё раз, нельзя на каждом запросе проводить синхронизацию?
почему нельзя - можно, но будь готов к возможному долгому отрабатыванию запроса
источник

AD

Alex Dem in Django [ru] #STAY HOME
Artem Gubatenko
почему нельзя - можно, но будь готов к возможному долгому отрабатыванию запроса
+++
источник

AD

Alex Dem in Django [ru] #STAY HOME
D. Ouhh
а почему, ещё раз, нельзя на каждом запросе проводить синхронизацию?
also надо отрабатывать потенциальные ошибки от внешнего API
источник

DO

D. Ouhh in Django [ru] #STAY HOME
понял. скорость не так важна, как удобство в данном случае. как я могу обновлять на каждом запросе?
источник

AD

Alex Dem in Django [ru] #STAY HOME
Alex Dem
also надо отрабатывать потенциальные ошибки от внешнего API
все варианты - 500ые, 400ые, и как-то их отрабатывать у себя внутри
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
D. Ouhh
понял. скорость не так важна, как удобство в данном случае. как я могу обновлять на каждом запросе?
делать запрос в нешний сервис))
pip install requests
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Artem Gubatenko
делать запрос в нешний сервис))
pip install requests
))
источник

DO

D. Ouhh in Django [ru] #STAY HOME
в каком месте реализовывать обновление?
источник