0
我正在使用python构建项目。我必须安排一些工作,所以我使用apscheduler。调度程序在Windows Apache上运行良好。但是当我将项目移到Amazon Ubuntu实例时,我面临着一个问题,即所有作业都在一段时间后运行,而不是一次运行两次。因此,我有两个同时运行的每个作业的实例。一切工作正常在Windows实例...我使用的是wsgi-python。 下面是我的wsgi文件..Python,Apscheduler问题 - 作业运行两次而不是一次
import os
import sys
sys.path.append('C:/Django/sweetspot/src/sweetspot')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings_server'
from jobs.FeedAndNews import FeedParse, NewsParse
from apscheduler.scheduler import Scheduler
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
today = datetime.datetime.today()
nex = datetime.timedelta(hours=1)
startsat = today + nex
timestr = startsat.strftime("%Y-%m-%d %H:%M:%S")
scheduler = Scheduler()
scheduler.start()
scheduler.add_interval_job(FeedParse, hours=1, start_date=timestr)
scheduler.add_interval_job(NewsParse, hours=1, start_date=timestr)
以下是Python和apcheduler的版本: 的Python 2.7, apscheduler-2.1.1
是否有人可以帮助我在查明问题..感谢你的帮助。在此先感谢..
我在urls.py中添加了调度程序代码,并从wsgi.py中将其删除。现在工作正在运行一次,但是在我提供给他们的时间间隔的一半之后再次运行,即如果我给1个小时,它在半小时后启动同一工作的另一个实例... – planet260
您知道在UNIX上如果使用Apache/mod_wsgi表示您的WSGI应用程序可以同时在多个进程中运行。如果您仅依赖于一个进程(如Windows上的情况),那么您需要适当地配置Apache/mod_wsgi。最有可能使用mod_wsgi守护进程模式。请参阅http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading –