Redwood

Redwood RunMyJobs → Apache Airflow

Migrate Redwood RunMyJobs process definitions, chains, and schedules to Apache Airflow DAGs.

Redwood RunMyJobs (now Redwood Workload Automation) is a cloud-native enterprise scheduler with a process-chain model. Its process definitions, chains, and schedule definitions are well-structured and amenable to automated extraction. BatchFoundry maps RunMyJobs process chains to Airflow DAGs, handling parameter passing, calendar definitions, and cross-chain dependencies.

Concept Mapping

Process definitionTask / Operator
Process chainDAG
Chain stepTask in DAG
Step dependencyTask dependency (>>)
Schedule definitionschedule_interval / timetable
ParameterAirflow Param / Variable
Condition (on success/failure)TriggerRule
QueueAirflow worker queue / Pool
Notificationon_failure_callback / email_on_failure
Cross-chain dependencyExternalTaskSensor

The Hard Parts We Handle

  • RunMyJobs REST API extraction for job inventory
  • Process chain parameter binding → Airflow templating
  • Cross-chain dependencies → ExternalTaskSensor
  • RunMyJobs calendar and exception definitions
  • Conditional branching in chains → BranchPythonOperator
  • Queue and agent mapping to Airflow workers

RunMyJobs process chain to DAG

Before

/* RunMyJobs Process Chain (simplified JSON) */
{
  "chain": "DAILY_ETL",
  "schedule": "0 1 * * MON-FRI",
  "steps": [
    { "name": "EXTRACT", "process": "etl.Extract" },
    { "name": "LOAD",    "process": "etl.Load",
      "dependsOn": ["EXTRACT"], "condition": "SUCCESS" }
  ]
}

After (Airflow)

# Apache Airflow DAG
from airflow.decorators import dag
from airflow.operators.bash import BashOperator
from pendulum import datetime

@dag(schedule="0 1 * * 1-5", start_date=datetime(2025,1,1), catchup=False)
def daily_etl():
    extract = BashOperator(task_id="extract", bash_command="/opt/etl/extract.sh")
    load = BashOperator(task_id="load", bash_command="/opt/etl/load.sh")
    extract >> load

daily_etl()

Ready to migrate from Redwood RunMyJobs?

Talk to a BatchFoundry engineer about your workload estate.

Talk to an Engineer

Related Migrations