【prefect】Prefect二:python任务调度工具 Prefect 基础使用教程 | work pool | Deployment | flow

一、Work Pool

1、什么是 Work Pool

白话解释:集中管理部署脚本的开关

Work pools allow you to switch between different types of infrastructure and to create a template for deployments. Data platform teams find work pools especially useful for managing infrastructure configuration across teams of data professionals.

Common work pool types include Docker, Kubernetes, and serverless options such as AWS ECS, Azure ACI, and GCP Cloud Run.

2、Work Pool 与 Prefect Server 的关系

在这里插入图片描述

3、创建Work Pool

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

注意:这里必须要启动一个进程来支持这个Work Pool的启动

在这里插入图片描述

4、编写 Dockerfile

制作一个基础镜像:prefect:customer-define-new

# 使用 Python 3.9 slim 版本作为基础镜像
FROM registry.cn-beijing.aliyuncs.com/dkzx_test/python:3.9-slim

# 设置工作目录
WORKDIR /app

# 更新系统并安装 git 和 Prefect
RUN apt update && \
    apt install -y git && \
    pip install --upgrade pip && \
    pip install -U prefect

# 显示 Prefect 和 git 的版本
CMD ["sh", "-c", "prefect --version && git --version"]

WorkPool 镜像,通过上面的镜像prefect:customer-define-new作为基础镜像

如果你的prefect server 使用了nginx的basic auth做的代理
则需要设置 ENV PREFECT_API_URL="http://admin:123@192.168.0.1/api"

 # 使用官方 Python 镜像作为基础镜像
FROM registry.cn-beijing.aliyuncs.com/dkzx_test/prefect:customer-define-new


# 设置 Prefect API 的 URL
ENV PREFECT_API_URL="http://192.168.0.1/api"

# 运行时启动 Prefect Worker
CMD ["prefect", "worker", "start", "--pool", "weather-data"]

5、Docker镜像启动Work Pool

启动WorkPool通过docker

 docker run -d --name weather-data-wook-pool --restart always <docker_image_id>

启动Docker后查看日志,可以看到 随机id和prefect dashboard中展示一致
表示我们的docker已经启动成功

在这里插入图片描述

二、Deployments

部署Deployment可以有2种方式:yaml文件、python脚本

1、Yaml file

If you’d rather take a declarative approach to defining a deployment through a YAML file, use a prefect.yaml file.
Prefect provides an interactive CLI that walks you through creating a prefect.yaml file.

prefect init

在这里插入图片描述

2、Python script

2.1、编写一个 flow

在这里插入图片描述

2.2、添加 deployment 配置

from prefect import flow

# Source for the code to deploy (here, a GitHub repo)
# git@gitee.com:ajiot_vpp/vpp-py-weather-data.git
SOURCE_REPO = "https://<账号>:<token>@gitee.com/ajiot_vpp/vpp-py-weather-data.git"

if __name__ == "__main__":
    # repo = GitRepository(
    #     url=SOURCE_REPO,
    #     credentials={"access_token": Secret.load("gitee-access-token")}
    # )
    repo = SOURCE_REPO

    flow.from_source(
        source=repo,
        entrypoint="prefect_task_list.py:task_schedule",
    ).deploy(
        name="ods_weather_data_region_hourly-deployment",
        work_pool_name="weather-data",  # Work pool target
        # parameters={"param_day": "", "method_key": ""},
        cron="*/10 * * * *",  # Cron schedule (every 10 minutes)
    )

2.3、部署!

python deployment.py

在这里插入图片描述

三、Flow

flow是该项目的最小执行单元,也就是对应其具体要被执行的函数方法

1、flow

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/904834.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝海创意云入选中国夏衍电影学会工业与科技影视专业委员会成员单位

党的二十届三中全会指出&#xff0c;科技自立自强是中国式现代化的有力保障。科技兴则民族兴&#xff0c;科技强则国家强。为深入的贯彻落实这一重要部署&#xff0c;推动工业与科技领域的融合发展充分发挥电影艺术在传播科技创新精神、展现工业发展成就方面的独特作用&#xf…

基于SpringBoot的“CSGO赛事管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“CSGO赛事管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 赛事信息界面图 赛事通知界面…

WPF+MVVM案例实战(十三)- 封装一个自定义消息弹窗控件(上)

文章目录 1、案例效果2、功能实现1、创建文件2、资源文件获取3、枚举实现3、弹窗实现1、界面样式实现2、功能代码实现4、总结1、案例效果 2、功能实现 1、创建文件 打开 Wpf_Examples 项目,我们在用户控件类库中创建一个窗体文件 SMessageBox.xaml,同时创建枚举文件夹 Enum…

室内障碍物射线追踪算法matlab模拟仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 增加发射点 加入室内墙壁&#xff1a; 同时增加发射点和室内墙壁&#xff1a; 2.算法运行软件版本 matlab2022a 3.部分…

荒野大镖客:救赎 PC版整合包

游戏名称&#xff1a;荒野大镖客&#xff1a;救赎 英文名称&#xff1a;Red Dead Redemption 游戏类型&#xff1a;动作冒险类(ACT)游戏 游戏制作&#xff1a;Rockstar Games/Double Eleven 游戏发行&#xff1a;Rockstar Games 游戏平台&#xff1a;PC 发售时间&#xff1a;20…

ubuntu双屏只显示一个屏幕另一个黑屏

简洁的结论&#xff1a; 系统环境 ubuntu22.04 nvidia-535解决方案 删除/etc/X11/xorg.conf 文件 记录一下折腾大半天的问题。 ubuntu系统是22.04,之前使用的时候更新驱动导致桌面崩溃&#xff0c;重新安装桌面安装不上&#xff0c;请IT帮忙&#xff0c;IT一番操作过后也表示…

Linux 练习三

1、建立用户组 shengcan&#xff0c;其id 为 2000 [rootlocalhost 桌面]# groupadd -g 2000 shengchan 2、建立用户组 caiwu&#xff0c;其id 为 2001 [rootlocalhost 桌面]# groupadd -g 2001 caiwu 3、建立用户组 jishu&#xff0c;其 id 为 2002 [rootlocalhost 桌面]#…

深度学习数学基础之梯度

深度学习数学基础之梯度 方向余弦 方向导数 梯度&#xff08;向量&#xff09; 变化率最大的方向或者说方向导数最大的方向就是梯度向量的方向指向方向导数变化最大的方向

Unity XR Interaction Toolkit 开发教程(1):OpenXR 与 XRI 概述【3.0 以上版本】

文章目录 &#x1f4d5;Unity XR 开发架构&#x1f50d;底层插件&#xff08;对接硬件&#xff09;&#x1f50d;高层 SDK&#xff08;面向应用交互层&#xff09; &#x1f4d5;OpenXR&#x1f4d5;XR Interaction Toolkit&#x1f50d;特点&#x1f50d;XRI 能够实现的交互类…

2024-10-29 商业分析-盗取他人游戏MOD牟利-记录

摘要&#xff1a; 2024-10-29 商业分析-盗取他人游戏MOD牟利-记录 事件&#xff1a; 【实锤】《真英雄》盗用本人《风林火山》mod地图售卖牟利&#xff01;_ryan_knight_12吧_百度贴吧 真英雄&#xff1f;&#xff1f;我从未见过如此厚颜无耻之人【ryan_knight_12吧】_百度贴吧…

神奇的数据恢复工具:让丢失的数据重现

现在很多时候我们的数据资料都是通过电子方式存储吧&#xff0c;毕竟现在都在推崇无纸化办公啦。但是有时候我们觉得好好存储在电子设备里的文件莫名的就不翼而飞了。今天我介绍几个免费的数据恢复软件帮你把它们抓回来&#xff01; 1.Foxit数据恢复大师 链接直达&#xff1a…

MFC界面开发组件Xtreme Toolkit Pro v24全新发布—完整的SVG支持

Codejock软件公司的Xtreme Toolkit Pro是屡获殊荣的VC界面库&#xff0c;是MFC开发中最全面界面控件套包&#xff0c;它提供了Windows开发所需要的11种主流的Visual C MFC控件&#xff0c;包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Repo…

定高与不定高虚拟列表

前言 在日常代码开发过程中&#xff0c;总会遇到大数据量的问题&#xff0c;当我们需要加载显示几千上万的数据的时候&#xff0c;如果我们是一次性渲染&#xff0c;那肯定就会出现严重的卡顿现象&#xff0c;这对用户体验是非常差的&#xff0c;也会让我们的项目&#xff0c;可…

基于全景图像拼接算法

图像拼接简介图像拼接的主要步骤摄像机运动的投影模型&#xff08; projective model)图像的对齐 (registration)图像的合成 (blending)图像拼接试验 什么是图像拼接&#xff1f; 将多幅在不同时刻、从不同视角或者由不同传感器获得的图像经过对齐然后无缝地融合在一起&#xf…

二十二、MySQL 8.0 主从复制原理分析与实战

文章目录 一、复制&#xff08;Replication&#xff09;1、什么是复制2、复制的方式3、复制的数据同步类型3.1、异步复制3.2、半同步复制3.3、设计理念&#xff1a;复制状态机——几乎所有的分布式存储都是这么复制数据的 4、基于binlog位点同步的主从复制原理4.1、异步复制示例…

MFC工控项目实例二十七添加产品参数

承接专栏《MFC工控项目实例二十六创建数据库》 在型号参数界面添加三个参数试验时间、最小值、最大值。变量为double m_edit_time; double m_edit_min; double m_edit_max; 1、在SEAL_PRESSURE.h中添加代码 class CProductPara { public:union{struct{...double m_edit_min;…

java:入门基础(1)

练习一&#xff1a;文字版格斗游戏 需求: ​ 格斗游戏&#xff0c;每个游戏角色的姓名&#xff0c;血量&#xff0c;都不相同&#xff0c;在选定人物的时候&#xff08;new对象的时候&#xff09;&#xff0c;这些信息就应该被确定下来。 举例&#xff1a; ​ 程序运行之后…

Spring Boot Configuration和AutoConfiguration加载逻辑和加载顺序调整

在spring中&#xff0c; AutoConfiguration也是一个种Configuration&#xff0c;只是AutoConfiguration是不能使用proxy的。 而且spring对于两者的加载顺序也不是一视同仁&#xff0c;是有顺序的。spring会先加载SpringBootApplication可达的且标注了Configuration的类&#x…

第二十三章 Vue组件通信之非父子组件通信

目录 一、引言 1.1. event bus 事件总线 1.1.1. 实现步骤 1.2. provide & inject 1.2.1. 实现步骤 二、event bus事件总线完整代码 2.1. 工程结构图 ​2.2. main.js 2.3. App.vue 2.4. EventBus.js 2.5. BaseC.vue 2.6. BaseB.vue 2.7. BaseA.vue 三、provi…

AI代币是什么?AI与Web3结合的未来方向在哪里?

近两年随着人工智能的崛起&#xff0c;AI已经渗透到制造业、电商、广告、医药等各个行业&#xff0c;加密货币领域也不例外&#xff0c;人工智能与区块链的融合&#xff0c;让我们看到了独特的数字资产 — AI加密代币。 它的流行始于2022年底&#xff0c;随着OpenAI智能聊天机…