RemovedInAirflow3Warning,
                stacklevel=2,
            )
        validate_key(dag_id)
        self._dag_id = dag_id
        if concurrency:
            
            warnings.warn(
                "The 'concurrency' parameter is deprecated. Please use 'max_active_tasks'.",
                RemovedInAirflow3Warning,
                stacklevel=2,
            )
            max_active_tasks = concurrency
        self._max_active_tasks = max_active_tasks
        self._pickle_id: int | None = None
        self._description = description
        
        back = sys._getframe().f_back
        self.fileloc = back.f_code.co_filename if back else ""
        self.task_dict: dict[str, Operator] = {}
        
        tz = None
        if start_date and start_date.tzinfo:
            tzinfo = None if start_date.tzinfo else settings.TIMEZONE
            tz = pendulum.instance(start_date, tz=tzinfo).timezone
        elif "start_date" in self.default_args and self.default_args["start_date"]:
            date = self.default_args["start_date"]
            if not isinstance(date, datetime):
                date = timezone.parse(date)
                self.default_args["start_date"] = date