当我运行python脚本时,我可以退出解释器,atexit
将执行我注册的所有函数。你知道吗
现在,我正在使用airflow并希望触发atexit
任务on_kill()
(即,当我清除或杀死airflow中的dag节点时)。你知道吗
例如,在伪代码中,我需要能够:
class Foo(PythonOperator):
...
def on_kill():
# somehow, trigger atexit tasks without exiting the
# process entirely
atexit
也不是必须的——我可以做别的事情。主要的一点是,在python上下文之外执行的某些内容需要以过程的方式终止,理想情况下,通过引用housing脚本来传递终止函数将是最后的手段(python并没有使这个特定的替代方法变得容易)。你知道吗
如果我没有误解您的问题,您可以通过
atexit._run_exitfuncs()
触发在atexit
中注册的所有函数:输出显示触发已注册的退出函数不会停止程序流,而是允许运行更多函数。你知道吗
您可以对
atexit
模块进行修补-如下所示:输出:
相关问题 更多 >
编程相关推荐