Вы можете использовать django-background-tasks, рабочую очередь на основе базы данных для django.Вы можете следовать инструкциям по установке здесь .
Пример фоновой задачи для вашего случая:
from background_task import background
@background(schedule=60)
def feed_database(some_parameter):
# feed your database here
# you can also pass a parameter to this function
pass
Все, что вам нужно, это позвонить feed_database
изобычный код для активации фоновой задачи, который создаст объект Task и сохранит его в базе данных и запустит эту функцию через 60 секунд.
В вашем случае вы хотите запускать эту функцию бесконечно, чтобы вы могли что-то сделатьнапример:
feed_database(some_parameter, repeat=60, repeat_until=None)
Это будет запускать вашу функцию один раз в 60 секунд, бесконечно.
Они также предоставляют команду управления django, где вы можете давать команды запуска для ваших задач (если выне хотите запускать задачу из своего кода), используя python manage.py process_tasks
.