我希望我的提取程序任务使用一个字符串变量来设置pool
.
我意识到我可以这样做:
@task(pool="my_pool")
def extractor_task(**kwargs):
但是,我如何才能动态地执行该操作,或者我如何访问并更改这些属性呢?因为我不能动态地更改传递给修饰器的内容,所以有没有其他方法可以访问经过修饰的EXTRACTOR_TASK池并按我想要的方式设置它?
我希望我的提取程序任务使用一个字符串变量来设置pool
.
我意识到我可以这样做:
@task(pool="my_pool")
def extractor_task(**kwargs):
但是,我如何才能动态地执行该操作,或者我如何访问并更改这些属性呢?因为我不能动态地更改传递给修饰器的内容,所以有没有其他方法可以访问经过修饰的EXTRACTOR_TASK池并按我想要的方式设置它?
在使用TaskFlow API设置BaseOperator级别的属性(如pool
、queue
等)时,可以使用the special override()
method.
在您要动态设置pool
的情况下,可以执行以下操作:
@task
def extractor_task(**kwargs):
...
pool_val = < some logic to set the variable value >
extract = extractor_task.override(pool=pool_val)(...)