33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
import assets
|
|
from dagster_polars import PolarsParquetIOManager
|
|
from icecream import install
|
|
from jobs import check_partitions_job, deals_job
|
|
from schedules import deals_schedule
|
|
from utils.email import EmailService
|
|
|
|
import dagster as dg
|
|
|
|
install()
|
|
definitions = dg.Definitions(
|
|
assets=[
|
|
asset.with_attributes(
|
|
group_names_by_key={asset.key: "vinyl"},
|
|
tags_by_key={asset.key: {"app": "vinyl"}},
|
|
)
|
|
for asset in dg.load_assets_from_modules([assets])
|
|
],
|
|
resources={
|
|
"polars_parquet_io_manager": PolarsParquetIOManager(base_dir="/storage/vinyl"),
|
|
"email_service": EmailService(
|
|
smtp_server=dg.EnvVar("SMTP_SERVER"),
|
|
smtp_port=dg.EnvVar.int("SMTP_PORT"),
|
|
smtp_username=dg.EnvVar("SMTP_USERNAME"),
|
|
smtp_password=dg.EnvVar("SMTP_PASSWORD"),
|
|
sender_email=dg.EnvVar("SENDER_EMAIL"),
|
|
receiver_email=dg.EnvVar("RECEIVER_EMAIL"),
|
|
),
|
|
},
|
|
jobs=[deals_job, check_partitions_job],
|
|
schedules=[deals_schedule],
|
|
)
|