ashb commented on code in PR #44972:
URL: https://github.com/apache/airflow/pull/44972#discussion_r1888138063
##########
airflow/callbacks/callback_requests.py:
##########
@@ -16,49 +16,37 @@
# under the License.
from __future__ import annotations
-import json
from typing import TYPE_CHECKING
+from pydantic import BaseModel
+
+from airflow.api_fastapi.execution_api.datamodels import taskinstance as
ti_datamodel # noqa: TC001
from airflow.utils.state import TaskInstanceState
if TYPE_CHECKING:
- from airflow.models.taskinstance import SimpleTaskInstance
+ from airflow.typing_compat import Self
-class CallbackRequest:
+class CallbackRequest(BaseModel):
"""
Base Class with information about the callback to be executed.
- :param full_filepath: File Path to use to run the callback
:param msg: Additional Message that can be used for logging
:param processor_subdir: Directory used by Dag Processor when parsed the
dag.
"""
- def __init__(
- self,
- full_filepath: str,
- processor_subdir: str | None = None,
- msg: str | None = None,
- ):
- self.full_filepath = full_filepath
- self.processor_subdir = processor_subdir
- self.msg = msg
-
- def __eq__(self, other):
- if isinstance(other, self.__class__):
- return self.__dict__ == other.__dict__
- return NotImplemented
+ full_filepath: str
+ """File Path to use to run the callback"""
+ processor_subdir: str | None = None
+ """Directory used by Dag Processor when parsed the dag"""
+ msg: str | None = None
+ """Additional Message that can be used for logging to determine
failure/zombie"""
- def __repr__(self):
- return str(self.__dict__)
-
- def to_json(self) -> str:
- return json.dumps(self.__dict__)
+ to_json = BaseModel.model_dump_json
Review Comment:
Yeah, I guess this method is never used. It might be worth just cleaning the
callers up to use model_dump_json directly
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]