Heroku で APScheduler プロセスを Django 環境で動作させるのに問題があります。
私がしたことは、管理コマンドを作成して、apscheduler ジョブが Django 環境にアクセスできるようにすることでした。
アプリ名/管理/コマンド/scheduler.py
class Command(BaseCommand):
"""
Management command for APScheduler
"""
def handle(self, *args, **kwargs):
sched = Scheduler()
@sched.cron_schedule(day_of_week='mon-sun', hour=0, minute=0)
def a_weekly_job():
run_some_code()
sched.start()
print "Scheduler started"
while True:
pass
Procfile を次のように設定しました (スケジューラ プロセス用)。
scheduler: python manage.py scheduler
ただし、スケジューラ プロセスを使用してアプリケーションをデプロイすると、次の警告メッセージが表示され、ジョブが実行されません。
WARNING:apscheduler.scheduler:Run time of job "a_weekly_job" (trigger: cron[day_of_week='mon-sun', hour='23', minute='25'], next run at: 2013-09-24 23:25:00)" was missed by 0:00:07.261174
ジョブを実行するにはどうすればよいですか?