Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not able to set on_failure_callback in default args #177

Open
madhavdube opened this issue Oct 6, 2023 · 1 comment
Open

Not able to set on_failure_callback in default args #177

madhavdube opened this issue Oct 6, 2023 · 1 comment

Comments

@madhavdube
Copy link

I am trying to set the default args as
default_args={'on_failure_callback': 'foo_function_str`}

the yaml config I am trying

dag_1:
   default_args:
       start_date: '1999-01-01'
       on_failure_callback: 'dags.utils.failures.send_alert' -- str representation of function
   

The other config I tried using on_failure_callback_file but this does not set the property in the default dict.

dag factory version - 0.8.0

@subbota19
Copy link

Hi @madhavdube,

I tried creating the DAG based on your config file using the latest version of dag-factory v0.19.0, and it worked fine. Please try running it with the latest version.

As for specifying callbacks, another method is to use the parameters: on_failure_callback_file and on_failure_callback_name. You can find more details in the documentation.

One limitation is that currently it's not possible to provide callbacks within default_args. You can only define them at the DAG level, like this

dag_test:
  default_args:
    start_date: '2024-09-14'
  on_success_callback_file: "/usr/local/airflow/dags/utils/utils/failures.py"
  on_success_callback_name: "send_alert"

However, I've created a PR that will allow specifying callbacks inside default_args, enabling callback configurations for individual DAG tasks as well: #218.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants