A job connects tasks in a directed graph. A bronze ingestion task must finish before a silver transformation that reads its output, and a gold publication task should wait for the required quality checks. Configure the dependency rule as well as the edge: a task that runs after failure has a different purpose from a task that runs only after success.
Retries help with temporary failures, but a repeated task must write safely. Appending the same business rows on each attempt can duplicate a result. A repair run can rerun failed tasks and affected downstream work instead of repeating every successful upstream task. Schedules, file-arrival triggers and table-update triggers fit different availability patterns. Review the source arrival guarantee before choosing a clock time, and give conditional branches and loops an explicit reason to run.