#python #python-2.7 #pymongo #apscheduler
#python #python-2.7 #pymongo #apscheduler
Вопрос:
Код работает нормально, выводя на экран hello
каждую секунду. Это делается с помощью bar
метода, который добавляется в планировщик в качестве задания.
Проблема: однако, когда строка self.db.animals.insert_one({'name': 'lion'})
добавляется в bar
метод, запуск скрипта выдает ошибку
No handlers could be found for logger "apscheduler.scheduler"
и скрипт останавливается. Есть идеи, что произошло и как мы можем это решить?
from apscheduler.schedulers.blocking import BlockingScheduler
import pymongo
class Foo(object):
def __init__(self, db, interval=1):
self.interval = interval
self.db = db
self.sched = BlockingScheduler()
self.sched.add_job(self.bar, 'interval', seconds = interval)
def start(self):
self.sched.start()
def stop(self):
self.sched.shutdown()
def bar(self):
print 'hello'
self.db.animals.insert_one({'name': 'lion'})
client = pymongo.MongoClient("localhost", 27017)
db = client.earth
foo = Foo(db, 0.2)
foo.start()
Ответ №1:
Это не ошибка, а предупреждение. Система ведения журнала Python пытается сообщить вам, что у нее нет выхода для вывода журнала, потому что вы его не настроили. Попробуйте использовать logging.basicConfig(level=logging.DEBUG)
.