Exemplo n.º 1
0
        # "lianjia-cj-hf",
    ])
    process = CrawlerProcess(get_project_settings())
    sloader = SpiderLoader(get_project_settings())
    scheduler = TwistedScheduler()
    hour = 3
    for spidername in sloader.list():
        # scheduler.add_job(task, 'cron', minute="*/20")
        if spidername in allow2:
            #https://apscheduler.readthedocs.io/en/latest/modules/triggers/cron.html
            # scheduler.add_job(process.crawl, 'cron', args=[spidername], hour="*/" + str(hour))
            # scheduler.add_job(func=aps_test, args=('定时任务',), trigger='cron', second='*/5')
            # scheduler.add_job(func=aps_test, args=('一次性任务',),
            #                   next_run_time=datetime.datetime.now() + datetime.timedelta(seconds=12))
            # scheduler.add_job(func=aps_test, args=('循环任务',), trigger='interval', seconds=3)
            print(spidername)
            scheduler.add_job(process.crawl,
                              'cron',
                              args=[spidername],
                              next_run_time=datetime.datetime.now() +
                              datetime.timedelta(hours=3))
            hour += 2

    scheduler.start()
    process.start(False)
    try:
        while True:
            time.sleep(2)
    except (KeyboardInterrupt, SystemExit):
        scheduler.shutdown()
Exemplo n.º 2
0
import logging

logging.basicConfig(format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',filename='list.log', filemode='w')

n = 6000
ll = [0 for i in range(n)]

def func(i):
        ll[i] += 1

def err_lis(ev):
    logger = logging.getLogger("")
    logger.error(str(ev))

#scheduler = BackgroundScheduler()
scheduler = TwistedScheduler()
for i in range(n):
    start = datetime.datetime.now() + datetime.timedelta(seconds=i%10)
    scheduler.add_job(func, 'interval', args=(i,), start_date=start, seconds=10)

scheduler.add_listener(err_lis, apscheduler.events.EVENT_JOB_ERROR | apscheduler.events.EVENT_JOB_MISSED)
scheduler.start()
time.sleep(5)
scheduler.shutdown()
s = 0
for i in ll:
    s+=i
print s