2013-09-06 4 views
4

У меня есть флеш-приложение, развернутое в герою. Мне нужно запланировать выполнение фоновой задачи в определенное время. Я пробовал использовать модуль apscheduler. Хотя он позволяет определять периодические задачи, легко добавляя их из приложения во время выполнения, я ищу.Динамическое добавление периодических заданий из флеш-приложения

Я пытался разделяя те же jobstores в 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' 

Я пришел через this question, ища подхода, основанного на сельдерея. Он говорит о той же проблеме с точки зрения django, но я не могу заставить ее работать с моим приложением (я полностью не обращаю внимания на django)

+0

Проблема в том, что в первом случае вы вызываете 'sched.add_jobstore' с экземпляром' ShelveJobStore' в качестве своего первого аргумента, а во втором вы вызываете его со строкой в ​​качестве первого аргумента. Измените свой второй пример, чтобы использовать «ShelveJobStore», и все должно работать. –

ответ

0

Когда вы попытались запустить его с терминала, вы дали add_jobstore строку в качестве первый параметр, вместо хранилища заданий. Он ожидает, что хранилище заданий станет первым параметром, see the documentation for more info.

Что касается планирования фоновых задач в Heroku, я бы рекомендовал прочитать статью Worker Dynos, Background Jobs and Queueing по этому вопросу.