novel = q.get() try: if ready_work(novel, db): notify_page(novel[0], "start") do_work(novel, db) except Exception, e: log.error("%s: %s" % (novel[0], traceback.format_exc())) db.modify_status(novel[0], 4) db.commit() q.task_done() # 插入任务 db = BaseDB() novel_list = db.get_novel_list() log.info("novel count %s", len(novel_list)) for novel in novel_list: # db.modify_status(novel[0], 1) q.put(novel) # db.commit() db.close() del db for i in range(min(q.qsize(), THREADS_COUNT)): t = threading.Thread(target=worker) t.setDaemon(True) t.start() q.join() log.info("end") os.remove(lockfile)