Exemplo n.º 1
0
 def __init__(self, start=True):
     try:
         config = {
             'apscheduler.daemon': True,
             'apscheduler.standalone': False,
             'apscheduler.threadpool.core_threads':
             self.__threadpool_corethreads,
             'apscheduler.threadpool.max_threads':
             self.__threadpool_maxthreads,
             'apscheduler.threadpool.keepalive':
             self.__threadpool_keepalive,
             'apscheduler.coalesce': self.__COALESCE
         }
         self.__sched = Scheduler(config)
         '''Add the SQLAlchemy job store as the default. This was surprisingly far less tedious than getting the
         shelve job store working.'''
         self.__sched.add_jobstore(
             SQLAlchemyJobStore(url=self.__mysql_url, tablename='SCHEDULE'),
             'default')
         atexit.register(lambda: self.__sched.shutdown(wait=False)
                         )  # Stop the scheduler when the program exits
         if start:
             self.__sched.start()
     except KeyError:
         logging.warning('An error occurred starting the scheduler.')
Exemplo n.º 2
0
    def setup_class(cls):
        if not SQLAlchemyJobStore:
            raise SkipTest

        from sqlalchemy import create_engine

        engine = create_engine('sqlite:///')
        cls.jobstore = SQLAlchemyJobStore(engine=engine)
Exemplo n.º 3
0
def main():
    sched = Scheduler()
    # mysql_engine = create_engine('mysql://root:@localhost:3306/fengine?charset=utf8',encoding = "utf-8",echo =True)
    mysql_engine = get_db_engine()
    sched.daemonic = False
    print "Starting index engine......"
    job_store = SQLAlchemyJobStore(engine=mysql_engine)
    sched.add_jobstore(job_store, 'default')

    list_spider_job(sched)  #将Spider的任务加入队列
    scan_engine_job(sched)  #将主索引服务加入任务队列

    # sched.add_cron_job(scan_loan_items_job,hour='*', minute='*', second='5')
    #将索引Job加入到调度系统,按照每5分钟的频率启动
    # engine_name = 'engine.py'
    # python_loc = os.path.join(os.getcwd(), engine_name)
    # sched.add_interval_job(python_job_func, seconds =5, name = engine_name, args = [python_loc])
    # list_spider_job(sched)
    sched.start()
Exemplo n.º 4
0
 def __init__(self, db_path='sqlite:///scheduler.db'):
     self.scheduler = Scheduler()
     self.scheduler.add_jobstore(SQLAlchemyJobStore(url=db_path), 'default')
Exemplo n.º 5
0
def test_sqlalchemy_alternate_tablename():
    if not SQLAlchemyJobStore:
        raise SkipTest

    store = SQLAlchemyJobStore('sqlite:///', tablename='test_table')
    eq_(store.jobs_t.name, 'test_table')
Exemplo n.º 6
0
def test_sqlalchemy_invalid_args():
    if not SQLAlchemyJobStore:
        raise SkipTest

    SQLAlchemyJobStore()
Exemplo n.º 7
0
    def setup_class(cls):
        if not SQLAlchemyJobStore:
            raise SkipTest

        cls.jobstore = SQLAlchemyJobStore(url='sqlite:///')
from apscheduler.scheduler import Scheduler
from apscheduler.jobstores.sqlalchemy_store import SQLAlchemyJobStore
import datetime
from time import sleep

JOBS_DATABASE = "postgresql://*****:*****@localhost/test_jobs"

# Start the scheduler
sched = Scheduler()
sched.add_jobstore(
    SQLAlchemyJobStore(url=JOBS_DATABASE, tablename='apscheduler_jobs'),
    'default')
sched.start()


def print_reservation_id(reservation_id):
    print "====> Reservation id is " + str(reservation_id)


if __name__ == '__main__':

    print "====> Printing jobs..."
    print sched.print_jobs()

    now = datetime.datetime.now()
    start_time = now + datetime.timedelta(seconds=3)
    later = now + datetime.timedelta(seconds=10)

    print "====> now is " + str(now)
    print "====> start_time is " + str(start_time)
    print "====> later is " + str(later)
Exemplo n.º 9
0
    def make_jobstore():
        if not SQLAlchemyJobStore:
            raise SkipTest

        return SQLAlchemyJobStore(url='sqlite:///example.sqlite')