Пользователи в моем приложении могут импортировать данные, полученные из API, в мою базу данных Django. API использует пейджинг, если для выборки> 100 результатов.
Я, очевидно, не хочу, чтобы пользователи ожидали импорта большого количества элементов. Итак, я делаю первый вызов API в запросе, а затем делегирую остальное Celery.
> User requests an API item with 250 items
> Fetch 100 and return
> Fetch 150 more in a celery task
Я беспокоюсь о повреждении базы данных. Я запускаю свое приложение на Heroku.
Я называю задачу так:
if rginitial_count >= 100:
continue_doing_imports.delay(artist_mbid=self.mbid,
artist_name=self.name,
offset=100)
Как я могу обеспечить последовательное поведение? например, user A
импортирует данные для Artist X
, и в то же время user B
пытается подписаться на того же артиста, поэтому ему необходимо написать его отношения? это один из сценариев, о котором я могу подумать.