我必须像这样在python中调用函数
job = scheduler.add_job(job_func, 'interval', minutes=10, id=req_json['job_id'], replace_existing=True)
我想根据请求参数传递自定义间隔,例如分钟/秒/等,所以我尝试了
job = scheduler.add_job(job_func, 'interval', interval_[1]=float(interval_[0]), id=req_json['job_id'], replace_existing=True, args=[req_json])
interval_ = "10 seconds".split(' ')
我该怎么做?
答案 0 :(得分:2)
字典解压缩**kwargs
可用于将关键字参数传递给函数
kwargs = {interval_[1]: float(interval_[0])}
job = scheduler.add_job(job_func, 'interval', id=req_json['job_id'], replace_existing=True, args=[req_json], **kwargs)
例如
kwargs = {'a': 1, 'b': 2}
foo(**kwargs)
等同于
foo(a=1, b=2)
使用此方法的优点是您可以动态设置字典中的键,因此可以动态设置传递给函数的关键字参数