feat: run pinned pipelines and publish outputs
This commit is contained in:
@@ -73,6 +73,12 @@ class DataflowPipelineRevision(Base, TimestampMixin):
|
||||
class DataflowRun(Base, TimestampMixin):
|
||||
__tablename__ = "dataflow_runs"
|
||||
__table_args__ = (
|
||||
UniqueConstraint(
|
||||
"tenant_id",
|
||||
"pipeline_id",
|
||||
"idempotency_key",
|
||||
name="uq_dataflow_run_idempotency",
|
||||
),
|
||||
Index("ix_dataflow_runs_tenant_status", "tenant_id", "status"),
|
||||
Index("ix_dataflow_runs_pipeline_created", "pipeline_id", "created_at"),
|
||||
)
|
||||
@@ -93,11 +99,35 @@ class DataflowRun(Base, TimestampMixin):
|
||||
status: Mapped[str] = mapped_column(String(30), nullable=False, index=True)
|
||||
executor_version: Mapped[str] = mapped_column(String(40), nullable=False)
|
||||
definition_hash: Mapped[str] = mapped_column(String(64), nullable=False)
|
||||
idempotency_key: Mapped[str | None] = mapped_column(
|
||||
String(255),
|
||||
nullable=True,
|
||||
index=True,
|
||||
)
|
||||
request_hash: Mapped[str | None] = mapped_column(String(64), nullable=True)
|
||||
request_: Mapped[dict[str, Any]] = mapped_column(
|
||||
"request",
|
||||
JSON,
|
||||
default=dict,
|
||||
nullable=False,
|
||||
)
|
||||
source_fingerprints: Mapped[list[dict[str, Any]]] = mapped_column(JSON, default=list, nullable=False)
|
||||
result_schema: Mapped[list[dict[str, Any]]] = mapped_column(JSON, default=list, nullable=False)
|
||||
diagnostics: Mapped[list[dict[str, Any]]] = mapped_column(JSON, default=list, nullable=False)
|
||||
input_row_count: Mapped[int] = mapped_column(Integer, default=0, nullable=False)
|
||||
output_row_count: Mapped[int] = mapped_column(Integer, default=0, nullable=False)
|
||||
output_publication_ref: Mapped[str | None] = mapped_column(
|
||||
String(500),
|
||||
nullable=True,
|
||||
)
|
||||
output_datasource_ref: Mapped[str | None] = mapped_column(
|
||||
String(500),
|
||||
nullable=True,
|
||||
)
|
||||
output_materialization_ref: Mapped[str | None] = mapped_column(
|
||||
String(500),
|
||||
nullable=True,
|
||||
)
|
||||
started_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), nullable=False)
|
||||
finished_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True))
|
||||
error: Mapped[str | None] = mapped_column(Text)
|
||||
|
||||
Reference in New Issue
Block a user