Vadym Dytyniak
09/29/2022, 10:27 AMVadym Dytyniak
09/29/2022, 10:31 AMChristopher Boyd
09/29/2022, 2:16 PMChristopher Boyd
09/29/2022, 2:17 PMVadym Dytyniak
09/29/2022, 3:04 PMVadym Dytyniak
09/29/2022, 3:04 PMChristopher Boyd
09/29/2022, 3:07 PMVadym Dytyniak
09/29/2022, 3:08 PMChristopher Boyd
09/29/2022, 3:11 PMChristopher Boyd
09/29/2022, 3:11 PMChristopher Boyd
09/29/2022, 3:12 PMVadym Dytyniak
09/29/2022, 3:13 PMChristopher Boyd
09/29/2022, 3:13 PMChristopher Boyd
09/29/2022, 3:15 PMChristopher Boyd
09/29/2022, 3:16 PMChristopher Boyd
09/29/2022, 3:16 PMVadym Dytyniak
09/29/2022, 3:18 PM@task
def write_data(storage: Storage, effective_date: datetime.date) -> None:
df = pd.DataFrame({'col_1': ['1', '2', '3'], 'col_2': [1, 2, 3]})
df['date'] = effective_date
storage.save(dd.from_pandas(df, npartitions=1), SAMPLE_NAMESPACE)
in the task I don't have access to the cluster, I just submit it to the task_runner I specified in flow attributesChristopher Boyd
09/29/2022, 3:20 PMVadym Dytyniak
09/29/2022, 3:21 PMVadym Dytyniak
09/29/2022, 3:21 PMDaskTaskRunner(
cluster_class="dask_cloudprovider.aws.FargateCluster",
cluster_kwargs={"n_workers": 4, "image": "my-prefect-image"},
)
Vadym Dytyniak
09/29/2022, 3:22 PM@flow(task_runner=DaskTaskRunner(address="<http://my-dask-cluster>"))
def my_flow():
...
Vadym Dytyniak
09/29/2022, 3:22 PMVadym Dytyniak
09/29/2022, 3:22 PMChristopher Boyd
09/29/2022, 3:23 PMChristopher Boyd
09/29/2022, 3:23 PMChristopher Boyd
09/29/2022, 3:23 PMChristopher Boyd
09/29/2022, 3:23 PMLogging in flows¶
To log from a flow, retrieve a logger instance with get_run_logger(), then call the standard Python logging methods.
from prefect import flow, get_run_logger
@flow(name="log-example-flow")
def logger_flow():
logger = get_run_logger()
<http://logger.info|logger.info>("INFO level log message.")
Prefect automatically uses the flow run logger based on the flow context. If you run the above code, Prefect captures the following as a log event.
15:35:17.304 | INFO | Flow run 'mottled-marten' - INFO level log message.
The default flow run log formatter uses the flow run name for log messages.
Christopher Boyd
09/29/2022, 3:24 PMVadym Dytyniak
09/29/2022, 3:29 PMVadym Dytyniak
09/29/2022, 3:32 PMVadym Dytyniak
09/29/2022, 3:32 PM