【发布时间】:2019-12-27 07:59:50
【问题描述】:
当我使用 Schedule 库 (library link) 每 1 分钟运行一次函数时。它工作正常,但我的其他 URL 不起作用。只有预定的功能工作。
#import scheduler library
import schedule
import time
#update every hour global table no of players and totol payouts
def updateTotalPayoutsAndTotalPlayers():
try:
querysetGlobal = Global.objects.filter().first()
querysetUser = Players.objects.filter(is_active=1).count()
querysetTotalPayouts = Game.objects.filter(gameStatusId=3).aggregate(Sum('pot'))
totalPayouts = querysetTotalPayouts['pot__sum']
# print("total payouts : ",totalPayouts)
querysetGlobal.totalPlayers = querysetUser
querysetGlobal.totalPayouts = 0 if totalPayouts==None else totalPayouts
querysetGlobal.save()
# print("completed task......")
except Exception as e:
print("error updating payouts and no of players : ", e)
#update globals table called ever one minute
schedule.every(1).minutes.do(updateTotalPayoutsAndTotalPlayers)
while True:
schedule.run_pending()
time.sleep(1)
当我删除 其他 API 工作时。但我的日程安排不会运行。
运行服务器我使用了命令:python manage.py runserver
【问题讨论】:
-
你可能想看看 celery docs.celeryproject.org/en/latest/django/…,这是为了运行周期性任务而设计的。也看看pypi.org/project/django-celery-beat
标签: python django django-rest-framework schedule