高级Python调度程序:调用类中的函数

时间:2017-10-06 09:25:43

标签: python-3.x apscheduler

这是我的剧本。我正试图从另一个类调用一个函数。

class example:     
  def test(self,txt):
    print(txt)

class myscheduler:
  def __init__(self):
    self.scheduler.start()

  def add_job(self, date, txt):
    t=example()

    trigger = DateTrigger(
        run_date=date
    )

    job_kwargs = {
      'trigger': trigger,
      'func': t.test,
      'kwargs': {'txt':txt},
      'id': 'task-{}'.format(txt),
      'name': 'Task({})'.format(txt),
      'coalesce': True,
      'max_instances': 1
    }

    self.scheduler.add_job(**job_kwargs)

但这是错误

TypeError: test() missing 1 required positional argument: 'self'

即使测试函数在myscheduler类中

def add_job(self, date, txt):
  trigger = DateTrigger(
      run_date=date
  )

  job_kwargs = {
    'trigger': trigger,
    'func': self.test,
    'kwargs': {'txt':txt},
    'id': 'task-{}'.format(txt),
    'name': 'Task({})'.format(txt),
    'coalesce': True,
    'max_instances': 1
  }

  self.scheduler.add_job(**job_kwargs)

def test(self,txt):
  print(txt)

问题是什么? 我必须通过自我辩论吗?怎么样?

0 个答案:

没有答案