2017年12月26日 星期二

[Python3] APScheduler:TypeError: func must be a callable or a textual reference to one


[Python3] APScheduler:TypeError: func must be a callable or a textual reference to one


    網路上APScheduler的範例,通常add_jobc後面都會直接給參數func,讓我天真的以為如果要帶入func 的參數只要直接丟入 func(bar) 就可以,看了官方文件才知道:
The ``func`` argument can be given either as a callable object or a textual reference.
     所以如果要給予參數的話,必須要是 callable object 。


     沒想到只要多一個參數args 就可以了:
scheduler.add_job(tick, 'interval', seconds=i, args=(i,))
    但要注意的是,args必須要是iterable,所以也可以帶入list:
scheduler.add_job(tick, 'interval', seconds=i, args=[i])

    用class解: