当前位置: 首页 > 面试题库 >

气流默认on_failure_callback

汲利
2023-03-14
问题内容

在我的DAG文件中,我定义了一个on_failure_callback()函数以在失败时发布Slack。

如果我为DAG中的每个运算符都指定,它将很好地工作:on_failure_callback = on_failure_callback()

有没有一种方法可以自动化(例如通过default_args或通过我的DAG对象)向所有操作员的调度?


问题答案:

我终于找到了一种方法。

您可以将on_failure_callback作为default_args传递

class Foo:
  @staticmethod
  def get_default_args():
      """
      Return default args
      :return: default_args
      """

      default_args = {
          'on_failure_callback': Foo.on_failure_callback
      }

      return default_args

  @staticmethod
  def on_failure_callback(context):
     """
     Define the callback to post on Slack if a failure is detected in the Workflow
     :return: operator.execute
     """

     operator = SlackAPIPostOperator(
         task_id='failure',
         text=str(context['task_instance']),
         token=Variable.get("slack_access_token"),
         channel=Variable.get("slack_channel")
     )

     return operator.execute(context=context)


 类似资料:
  • 有人能解释一下为什么这段代码在解密密钥时会在最后一行抛出吗? 以下是来自https://stackoverflow.com/a/27886397/66722对于使用OAEP的RSA也是如此? “RSA/ECB/PKCS1Padding”实际上没有实现ECB模式加密。它应该被称为“RSA/None/PKCS1Padding”,因为它只能用于加密单个明文块(或者实际上是一个密钥)。这只是Sun/Ora

  • 如果我们打开swagger editor网站https://editor.swagger.io/,它有一个默认的swagger示例。前几行是 一般来说,我们知道有两种类型的大摇大摆的文件。YAML和JSON。当然,默认的不是JSON。默认值与YAML非常相似,但事实并非如此。因为在菜单中,我们可以选择“转换为YAML”,它将转换为

  • 点击元素,弹出气泡确认框。 基础用法 Popconfirm 的属性与 Popover 很类似,因此对于重复属性,请参考 Popover 的文档,在此文档中不做详尽解释。 在 Popconfirm 中,只有 title 属性可用,content 属性不会被展示。 <template> <el-popconfirm title="这是一段内容确定删除吗?" > <template #referen

  • Popconfirm 气泡确认框 点击元素,弹出气泡确认框。 基础用法 Popconfirm 的属性与 Popover 很类似,因此对于重复属性,请参考 Popover 的文档,在此文档中不做详尽解释。 在 Popconfirm 中,只有 title 属性可用,content 属性不会被展示。 <template> <el-popconfirm title="这是一段内容确定删除吗?" >

  • 我目前正在使用vscode和apachepoi,创建了一个程序来自动创建<code>。xlsx编程并让A1单元输入一个名为“Tester”的字符串,然后弹出错误。 我程序中的代码: 错误代码: 嗯.xml( Apache POI对我来说是新的,请帮助我,我会非常感激,非常感谢。

  • 入口方法或适配器或其他原因导致异常时需要走的视图,依然是打开MainModule,加入代码 @Fail("jsp:jsp.500") 含义就是内部重定向到/WEB-INF/jsp/500.jsp页面 打开web.xml, 加入如下配置 <error-page> <error-code>500</error-code> <location>/WEB-INF/