4

heroku にフラスコ Web アプリをデプロイしています。バックグラウンド タスクを特定の時間にスケジュールする必要があります。apschedulerモジュールを使用してみました。定期的なタスクを定義して、実行時にアプリケーションから簡単に追加することができますが、私が探しているものです。

apschedulerで同じジョブストアを共有してみた

import time

from apscheduler.scheduler import Scheduler
from apscheduler.jobstores.shelve_store import ShelveJobStore

sched = Scheduler()
sched.add_jobstore(ShelveJobStore('jobstore.db'), 'shelve')

sched.start()

そして、ターミナルからこれを試しましたが、

Python 2.7.5 (default, May 12 2013, 12:00:47) 
[GCC 4.8.0 20130502 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from apscheduler.scheduler import Scheduler
>>> sc = Scheduler()
>>> sc.add_jobstore('jobstore.db', 'shelve')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/dhananjay/git/blast/venv/lib/python2.7/site-packages/apscheduler/scheduler.py", line 168, in add_jobstore
    jobstore.load_jobs()
AttributeError: 'str' object has no attribute 'load_jobs'

セロリベースのアプローチを探しているときに、この質問に出くわしました。Djangoの観点から同じ問題について語っていますが、アプリで動作させることができません(私はdjangoに完全に気づいていません)

4

1 に答える 1