I made a management command that populates one of my models from a csv file.
I need to do this update quite frequently and the csv files have tens of thousands of lines.
You can do the same with Django Background Task. Its a databased-backed work queue for Django. And is easy to implement than Celery.
from background_task import background
@background(schedule=60)
def your_task():
# do your cool work here.
This will convert the your_task into a background task function. When you call it from regular code it will actually create a Task object and stores it in the database.