-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunction_app.py
More file actions
27 lines (20 loc) · 867 Bytes
/
Copy pathfunction_app.py
File metadata and controls
27 lines (20 loc) · 867 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import azure.functions as func
import logging
# Connect the Brain to ALL Workers
from extract_stocks_bronze import run_bronze
from transform_stocks_silver import run_silver
from load_stocks_gold import run_gold
app = func.FunctionApp()
@app.timer_trigger(schedule="0 0 8 * * *", arg_name="myTimer", run_on_startup=False)
def timer_trigger(myTimer: func.TimerRequest) -> None:
logging.info('🚀 CapitalEdge Orchestrator starting...')
try:
logging.info('Step 1: Extracting to Bronze...')
run_bronze()
logging.info('Step 2: Transforming to Silver...')
run_silver()
logging.info('Step 3: Loading to Gold (SQL)...')
run_gold()
logging.info('✅ Full Pipeline Finished Successfully.')
except Exception as e:
logging.error(f"❌ Pipeline Failed at some stage: {e}")