Имам уеб приложение за колба, внедрено в heroku. Трябва да планирам фонова задача, която да бъде планирана в определен час. Опитах да използвам модула 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)
sched.add_jobstore
с екземпляр наShelveJobStore
като първи аргумент, а във втория го извиквате с низ като първи аргумент. Променете втория си пример, за да използвате иShelveJobStore
и нещата просто трябва да работят. - person Sean Vieira   schedule 01.07.2014