Python func必须是可调用的或对其的文本引用

Python func必须是可调用的或对其的文本引用,python,apscheduler,Python,Apscheduler,我尝试每2分钟运行一个函数,我使用ApsScheduler来实现这一点。但是,当我运行此命令时,会出现以下错误: Traceback (most recent call last): File "main_forecast.py", line 7, in <module> scheduler.add_job(get_warnings(), 'interval', seconds = 120) File "/home/anastasispap/.local/lib/

我尝试每2分钟运行一个函数,我使用ApsScheduler来实现这一点。但是,当我运行此命令时,会出现以下错误:

Traceback (most recent call last):
  File "main_forecast.py", line 7, in <module>
      scheduler.add_job(get_warnings(), 'interval', seconds = 120)
  File "/home/anastasispap/.local/lib/python3.6/site-packages/apscheduler/schedulers/base.py", line 434, in add_job
      job = Job(self, **job_kwargs)
  File "/home/anastasispap/.local/lib/python3.6/site-packages/apscheduler/job.py", line 49, in __init__
      self._modify(id=id or uuid4().hex, **kwargs)
  File "/home/anastasispap/.local/lib/python3.6/site-packages/apscheduler/job.py", line 170, in _modify
      raise TypeError('func must be a callable or a textual reference to one')
TypeError: func must be a callable or a textual reference to one
我想每2分钟运行一次的函数是get\u warnings

def get_warnings():
print('get_warning has been run')
names = []
types = []
number_of_threats = 0    
forecast_weather()
for i in range(0, number_of_enemies):
    enemies = info["enemies"][i]        
    name = enemies["name"]
    type = enemies["type"]
    temperature = enemies["temperature"]
    temperature = temperature.split("-")
    min_temp = temperature[0]
    max_temp = temperature[1]
    for i in range(len(temperatures)):
        if avg_temps[i] <= str(max_temp):
            names.append(name)
            types.append(type)
            number_of_threats += 1
            break
    os.chdir('..')
    write_data(number_of_threats, names, types)      
move_to_github()
def get_警告():
打印('get\u警告已运行')
名称=[]
类型=[]
威胁的数量=0
天气预报
对于范围内的i(0,敌人的数量):
敌人=信息[“敌人”][i]
name=敌人[“name”]
类型=敌人[“类型”]
温度=敌人[“温度”]
温度=温度。拆分(“-”)
最低温度=温度[0]
最高温度=温度[1]
对于范围内的i(len(温度)):

如果avg_temps[i]调用函数get_warnings,而不是将其作为可调用函数提供。尝试:

scheduler.add_job(get_warnings, 'interval', seconds = 120)

@阿纳斯塔斯帕普。你能在你的第一篇文章中包含敌人的代码吗?
scheduler.add_job(get_warnings, 'interval', seconds = 120)