我的APSchedule库有问题。我想在特定日期运行特定代码。我创建了下一个代码,但是我收到了一个错误。我尝试了不同的方法(你可以看到代码),但我得到了同样的错误。
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
from datetime import date
def some_job():
print ("Decorated job")
scheduler = BlockingScheduler()
#scheduler.add_job(some_job(), 'date', run_date='2017-10-03 15:58:55', args=['text'])
#scheduler.add_job(some_job(), 'date', run_date=datetime(2017, 10, 3, 15, 58, 55), args=['text'])
scheduler.add_job(some_job(), args=['text'])
scheduler.start()
错误: 装修工作 Traceback(最近一次调用最后一次): File" D:/ Alexey / Education / Courses / Selenium WebDriver with Python / SeleniumDriversTests / Scheduler.py",第12行,in scheduler.add_job(some_job(),args = [' text']) 文件" C:\ Python \ Python36 \ lib \ site-packages \ apscheduler \ schedulers \ base.py",第425行,在add_job中 job =工作(自我,** job_kwargs) 文件" C:\ Python \ Python36 \ lib \ site-packages \ apscheduler \ job.py",第44行, init self._modify(id = id或uuid4()。hex,** kwargs) _modify中的文件" C:\ Python \ Python36 \ lib \ site-packages \ apscheduler \ job.py",第165行 提出TypeError(' func必须是一个可调用的或文本引用一个') TypeError:func必须是对一个
的可调用或文本引用答案 0 :(得分:0)
这是因为add_job想要一个函数作为参数,以便调度程序将运行它运行。所以删除some_job之后的括号,some_job也没有函数参数,所以你需要删除args或者向some_job方法添加一个参数
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
from datetime import date
def some_job(name):
print ("Decorated job "+name)
scheduler = BlockingScheduler()
scheduler.add_job(some_job, args=['text'])
scheduler.start()