Я делаю приложение django. Чтобы рассчитать ранг фидов на основе строк и комментариев, я пытаюсь использовать django-background-tasks. функция, которую я использую в моделях узлов:Как использовать django-background-tasks
@background(schedule=60)
def get_score(self):
p = self.likes+self.comments # popularity
t = (now()-self.date).total_seconds()/3600 # age_in_hrs
# last_activity =
n = self.admin_score
score = (p/pow((t+1), 1.2))*n
self.score = score
return score
Но я не вижу никаких изменений в счете. Это означает, что я делаю это правильно, и мне не хватает базовой концепции. Может ли кто-нибудь сказать мне, как использовать django-background-tasks для планирования задачи или ссылки на некоторые существующие документы.
Хорошо, это означает, что я не могу планировать задачи в самих моделях или представлениях. – Rohit
@Rohit. Я думаю, вы можете оставить этот метод внутри 'models.py' (отдельный файл - это просто совет из документации), но как глобальная функция с' id 'как параметр вызвать параметры задачи хранятся в формате json в db, поэтому вы не можете передать свой объект, потому что он не может быть воспроизведен из json позже. – bellum
когда я бегу питона manage.py process_tasks, я получаю эту ошибку: C: \ Python34 \ Lib \ сайт-пакеты \ background_task \ models.py: 28: RemovedInDjango18War нин: 'метод Manager.get_query_set' должен быть переименован 'get_queryset'. класс TaskManager (models.Manager): Неизвестная команда: 'process_tasks' Что мне здесь не хватает – Rohit