当前位置: 首页 > news >正文

【prefect】python任务调度工具 Prefect | 可视化任务工具 | Python自动化的终极武器 | 高效数据管道管理

一、产品介绍

1、官方 Github

https://github.com/PrefectHQ/prefect

在这里插入图片描述

2、官方文档

https://docs.prefect.io/3.0/get-started/index

3、Pgsql说明

正确的python链接pgsql如下:

import psycopg2
from sqlalchemy import create_enginedef connect_with_psycopg2():try:conn = psycopg2.connect(dbname="prefect",user="prefect_user",password="123456-AbCd",host="127.0.0.1",port="5432")print("Connection successful with psycopg2!")except Exception as e:print(f"Connection failed with psycopg2: {e}")finally:if conn:conn.close()def connect_with_sqlalchemy():try:engine = create_engine("postgresql://prefect_user:123456-AbCd@127.0.0.1:5432/prefect")with engine.connect() as connection:print("Connection successful with SQLAlchemy!")except Exception as e:print(f"Connection failed with SQLAlchemy: {e}")if __name__ == "__main__":connect_with_psycopg2()connect_with_sqlalchemy()

如何我们将密码设置为 123456-Ab@
整体字符串如下:postgresql://prefect_user:123456-Ab@@127.0.0.1:5432/prefect
链接失败!所以不要将密码设置为含有@的字符串

def connect_with_sqlalchemy():try:engine = create_engine("postgresql://prefect_user:123456-Ab@@127.0.0.1:5432/prefect")with engine.connect() as connection:print("Connection successful with SQLAlchemy!")except Exception as e:print(f"Connection failed with SQLAlchemy: {e}")if __name__ == "__main__":connect_with_sqlalchemy()

二、搭建私有Prefect Server

私有化搭建,通过pgsql作为整个数据库

1、Docker搭建 PGsql

这里如果服务器拉不到最新版本的pgsql,可以通过科学上网做一份自己的pgsql镜像
这里我使用自己创建的镜像 :registry.cn-beijing.aliyuncs.com/dkzx_test/postgres

version: '3'services:postgres:image: registry.cn-beijing.aliyuncs.com/dkzx_test/postgres:latestcontainer_name: postgresenvironment:POSTGRES_DB: prefectPOSTGRES_USER: prefect_userPOSTGRES_PASSWORD: 123456-AbCdvolumes:- /home/postgres_data:/var/lib/postgresql/dataports:- "5432:5432"restart: always

注意:
1、这里要给 /home/postgres_data 足够的权限

2、Docker搭建 Prefect

启动成功如下:
在这里插入图片描述

2.1、打Prefect镜像

因为 prefect没有最新的Docker Image 所以这里我们自己通过Dockerfile创建一个Prefect镜像
同样这里如果服务器拉不到最新版本的 Prefect,可以通过科学上网做一份自己的Prefect镜像
这里我使用自己创建的镜像 :registry.cn-beijing.aliyuncs.com/dkzx_test/python:3.9-slim

# unc_name)
#n 作为基础镜像
FROM registry.cn-beijing.aliyuncs.com/dkzx_test/python:3.9-slim# 设置工作目录
WORKDIR /app# 更新 pip 并安装 Prefect
RUN pip install --upgrade pip && \pip install -U prefect# 运行 Prefect 以显示版本
CMD ["prefect", "--version"]

上面的 Dockerfile 通过打包程序打包成 Docker Image

docker build -t <docker-image-name> .

然后将image推送到私有镜像仓库,或者直接放本地直接启动
这里我们推送到私有镜像仓库registry.cn-beijing.aliyuncs.com/dkzx_test/prefect:customer-define-new

2.2、编写Prefect Docker-compose

在这里插入图片描述

下面注意几个点:
1、PREFECT_API_DATABASE_CONNECTION_URL :这个是连接pgsql的字符串信息,这里要使用前缀postgresql+asyncpg:,并且这里我们踩坑密码一定不能含@结尾数据
2、PREFECT_API_URL:这个对外开放API一定要用0.0.0.0的IP,不要用127.0.0.1
3、command:如果我们的Dashboard想被外网访问一定要指定host为0.0.0.0

version: "3"services:prefect-server:image: registry.cn-beijing.aliyuncs.com/dkzx_test/prefect:customer-define-newcontainer_name: prefect_serverenvironment:PREFECT_API_DATABASE_CONNECTION_URL: postgresql+asyncpg://prefect_user:123456-AbCd@127.0.0.1:5432/prefectPREFECT_API_URL: http://0.0.0.0:4200/apiports:- "4200:4200"command: ["prefect", "server", "start","--host", "0.0.0.0"]restart: always

3、PGsql初始化

通过启动 prefect_server 会在指定的数据库自动创建如下所有的数据库表

在这里插入图片描述

4、公网可访问的裸奔服务

不得不吐槽一下,启动的私有部署Prefect是没有登录权限的
也没有token

5、Nginx 配置 Basic Auth

三、对比:Cloud & 私有部署

1、Cloud

cloud的功能更丰富,且可以创建Namespace

在这里插入图片描述

2、私有部署

私有部署的server相对比cloud要简单一些

在这里插入图片描述

相关文章:

【prefect】python任务调度工具 Prefect | 可视化任务工具 | Python自动化的终极武器 | 高效数据管道管理

一、产品介绍 1、官方 Github https://github.com/PrefectHQ/prefect 2、官方文档 https://docs.prefect.io/3.0/get-started/index 3、Pgsql说明 正确的python链接pgsql如下&#xff1a; import psycopg2 from sqlalchemy import create_enginedef connect_with_psycopg2(…...

蓝禾,汤臣倍健,三七互娱,得物,顺丰,快手,游卡,oppo,康冠科技,途游游戏,埃科光电25秋招内推

蓝禾&#xff0c;汤臣倍健&#xff0c;三七互娱&#xff0c;得物&#xff0c;顺丰&#xff0c;快手&#xff0c;游卡&#xff0c;oppo&#xff0c;康冠科技&#xff0c;途游游戏&#xff0c;埃科光电25秋招内推 ①蓝禾 【岗位】国内/国际电商运营&#xff0c;设计&#xff0c…...

【面向对象】设计模式分类

java中设计模式共23种&#xff0c;根据使用场景可分为创建型模式、结构型模式、行为型模式。 创建型&#xff1a; 如何创建对象。 单例模式&#xff1a;保证一个类在一个程序中只能创建一个对象。例如windows任务管理器窗口只需要创建一个。单例模式只创建一个对象&#xff0…...

花朵识别系统Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练

一、介绍 花朵识别系统。本系统采用Python作为主要编程语言&#xff0c;基于TensorFlow搭建ResNet50卷积神经网络算法模型&#xff0c;并基于前期收集到的5种常见的花朵数据集&#xff08;向日葵、玫瑰、蒲公英、郁金香、菊花&#xff09;进行处理后进行模型训练&#xff0c;最…...

中泰免签,准备去泰国旅游了吗?《泰语翻译通》app支持文本翻译和语音识别翻译,解放双手对着说话就能翻译。

泰国是很多中国游客的热门选择&#xff0c;现在去泰国旅游更方便了&#xff0c;因为泰国对中国免签了。如果你打算去泰国&#xff0c;那么下载一个好用的泰语翻译软件是很有必要的。 简单好用的翻译工具 《泰语翻译通》App就是为泰国旅游设计的&#xff0c;它翻译准确&#x…...

C++/Qt 集成 AutoHotkey

C/Qt 集成 AutoHotkey 前言AutoHotkey 介绍 方案一&#xff1a;子进程启动编写AutoHotkey脚本准备 AutoHotkey 运行环境编写 C/Qt 代码 方案二&#xff1a;显式动态链接方案探索编译动态链接库集成到C工程关于AutoHotkeyDll.dll中的函数原型 总结 前言 上一篇介绍了AutoHotkey…...

OpenMV学习第一步安装IDE_2024.09.20

用360浏览器访问星瞳科技官网&#xff0c;一直提示访问不了。后面换了IE浏览器就可以访问。第一个坑。...

RK3568平台(基础篇)万用表的使用

一.万用表的通断判断 万用表两个笔头的插法:黑笔头是插在COM的孔里面,红色笔头可以插在其他的三个孔里面,20A和mA分别用来测电流,另外一个孔可以用来测其他(电压 电阻)。 以下这个三角符号(像wifi一样的)可以用来测通断: 使用万用表的红笔和黑笔进行短接,这时候两端…...

more、less 命令:阅读文本

一、命令简介 ​more​ 和 less​ 都是用于查看文本文件内容的命令&#xff0c;但它们在显示方式和功能上有一些区别。 简单的说 less​ 是 more​ 的升级版&#xff1a;增加了搜索、跳转等功能。所以优先使用 less​&#xff0c;可以不用 more ​了。 ‍ 二、命令参数 基…...

【笔记】1.3 塑性变形

一、塑性变形的方式 DDWs&#xff08;Dislocation-Dipole Walls&#xff0c;位错偶极墙&#xff09;&#xff1a;指由两个位错构成的结构&#xff0c;它们以一种特定的方式排列在一起&#xff0c;形成一个稳定的结构单元。 DTs&#xff08;Dislocation Tangles&#xff0c;位错…...

Java集合(三)

目录 Java集合&#xff08;三&#xff09; Java双列集合体系介绍 HashMap类 HashMap类介绍 HashMap类常用方法 HashMap类元素遍历 LinkedHashMap类 LinkedHashMap类介绍 LinkedHashMap类常用方法 LinkedHashMap类元素遍历 Map接口自定义类型去重的方式 Set接口和Ma…...

python:给1个整数,你怎么判断是否等于2的幂次方?

最近在csdn上刷到一个比较简单的题目&#xff0c;题目要求不使用循环和递归来实现检查1个整数是否等于2的幂次方&#xff0c;题目如下&#xff1a; 题目的答案如下&#xff1a; def isPowerofTwo(n):z bin(n)[2:]print(bin(n))if z[0] ! 1:return Falsefor i in z[1:]:if i !…...

Centos7安装gitlab-ce(rpm安装方式)

本章教程&#xff0c;主要介绍如何在Centos7安装gitlab-ce。 一、安装基础环境 安装gitlab-ce之前&#xff0c;我们需要安装一下jdk版本。 sudo yum install java-11-openjdk-devel二、下载安装包 这里我们下载的是rpm包。更多gitlab-ce版本可以在这里查看&#xff1a;https://…...

Flutter 获取手机连接的Wifi信息

测试版本 Flutter&#xff1a;3.7.6Dart:2.19.3 network_info_plus: 4.0.1 前言 我在做设备配网的时候&#xff0c;需要选择配网的WiFi。用下拉选择框展示WiFi列表。现在有个需求&#xff1a;默认展示的设备为手机连接的wifi。要实现这个需求只要能够获取到手机连接的wifi信息…...

誉龙视音频 Third/TimeSyn 远程命令执行复现

0x01 漏洞描述&#xff1a; 誉龙公司定位为系统级的移动视音频记录解决方案提供商&#xff0c;凭借其深厚的行业经验&#xff0c;坚持自主研发&#xff0c;匠心打造记录仪领域行业生态&#xff0c;提供开放式的记录仪APK、GB28181 SDK、国网B协议、管理平台软件OEM。誉龙视音频…...

ATMEGA328P芯片引脚介绍

1.AVCC AVCC是ATmega328P芯片的模拟电源引脚。 AVCC引脚的定义 模拟电源引脚&#xff1a;AVCC&#xff08;Analog Voltage Common&#xff09;是ATmega328P微控制器中的模拟电源引脚&#xff0c;用于为模拟电路部分提供稳定的电源。功能描述&#xff1a;AVCC通常连接到一个干…...

现代前端构建工具对比:Vue CLI、Webpack 和 Vite

一、引言&#x1f31f; 在现代前端开发中&#xff0c;选择合适的构建工具对于提高项目的效率和可维护性至关重要。&#x1f6e0;️ Vue CLI、&#x1f4e6; Webpack 和 &#x1f680; Vite 是目前最流行的三个构建工具&#xff0c;它们各自具有独特的优势和适用场景。本文将深…...

代码随想录算法训练营第三九天| 198.打家劫舍 213.打家劫舍II 337.打家劫舍 III

今日任务 198.打家劫舍 213.打家劫舍II 337.打家劫舍 III 198.打家劫舍 题目链接&#xff1a; . - 力扣&#xff08;LeetCode&#xff09; class Solution {public int rob(int[] nums) {int[] dp new int[nums.length];if (nums.length 1) return nums[0];if (nums.lengt…...

阿里云AI基础设施全面升级,模型算力利用率提升超20%

来源首席数智官 9月20日&#xff0c;2024云栖大会现场&#xff0c;阿里云全面展示了全新升级后的AI Infra系列产品及能力。通过全栈优化&#xff0c;阿里云打造出一套稳定和高效的AI基础设施&#xff0c;连续训练有效时长大于99%&#xff0c;模型算力利用率提升20%以上。 “AI…...

Debezium日常分享系列之:将容器镜像移至 quay.io

Debezium日常分享系列之&#xff1a;将容器镜像移至 quay.io 在Debezium 3.0.0.Final发布之后&#xff0c;我们将不再向docker.io发布容器镜像更新。旧版本的Debezium 2.x和1.x镜像将继续保留在docker.io上&#xff1b;然而&#xff0c;所有未来的Debezium 2.7.x和3.x或更高版本…...

影刀经验库共建:5个岗位提效的RPA模板分享

影刀RPA岗位提效模板分享影刀RPA&#xff08;机器人流程自动化&#xff09;能够显著提升企业运营效率&#xff0c;尤其在重复性高、规则明确的任务中表现突出。以下是5个适用于不同岗位的RPA模板&#xff0c;帮助团队快速实现自动化提效。财务岗位&#xff1a;自动化发票处理通…...

别再手动调了!Meshlab模型对齐的两种高效工作流与常见误区盘点

Meshlab模型对齐的高效策略与深度避坑指南 Meshlab作为开源三维模型处理工具&#xff0c;在学术研究和工业应用中扮演着重要角色。模型对齐作为其核心功能之一&#xff0c;直接影响后续的编辑、分析和可视化效果。许多用户虽然掌握了基础操作&#xff0c;但在面对复杂场景时仍会…...

别再乱调参数了!用Matlab polyfit做曲线拟合,从欠拟合到过拟合的实战避坑指南

Matlab曲线拟合实战&#xff1a;从polyfit到正则化的高阶避坑指南 当你面对一组杂乱无章的实验数据时&#xff0c;是否曾为选择哪个多项式阶数而纠结&#xff1f;工程师小张最近就遇到了这个难题——他在处理传感器温度补偿数据时&#xff0c;发现3阶拟合不够精准&#xff0c;但…...

ViVe完整贡献指南:从入门到精通的开源参与秘籍

ViVe完整贡献指南&#xff1a;从入门到精通的开源参与秘籍 【免费下载链接】ViVe C# library and console app for using new feature control APIs available in Windows 10 version 2004 and newer 项目地址: https://gitcode.com/gh_mirrors/vi/ViVe ViVe是一个C#库&…...

CLIP-GmP-ViT-L-14真实作品:气象云图→天气预报/灾害预警/影响区域文本匹配

CLIP-GmP-ViT-L-14真实作品&#xff1a;气象云图→天气预报/灾害预警/影响区域文本匹配 1. 项目介绍 CLIP-GmP-ViT-L-14是一个经过几何参数化(GmP)微调的CLIP模型&#xff0c;在ImageNet和ObjectNet数据集上达到了约90%的准确率。这个强大的视觉-语言模型能够理解图像内容并将…...

突破百度网盘限速:Mac用户7分钟解锁SVIP级下载体验

突破百度网盘限速&#xff1a;Mac用户7分钟解锁SVIP级下载体验 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘非会员100KB/s的龟速下载…...

3个魔法时刻:如何让Switch手柄在PC上获得新生

3个魔法时刻&#xff1a;如何让Switch手柄在PC上获得新生 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.com/gh_mirro…...

避坑指南:用conda管理TensorFlow环境时如何避免FailedPreconditionError日志目录冲突

避坑指南&#xff1a;用conda管理TensorFlow环境时如何避免FailedPreconditionError日志目录冲突 在深度学习项目开发中&#xff0c;TensorFlow作为主流框架之一&#xff0c;其环境配置的稳定性直接影响开发效率。许多开发者习惯使用conda进行Python环境管理&#xff0c;但在Te…...

RStudio Server部署与运维实战:从零搭建到高效管理

1. 环境准备&#xff1a;搭建RStudio Server的基石 在开始部署RStudio Server之前&#xff0c;我们需要确保服务器环境已经准备就绪。就像盖房子需要打地基一样&#xff0c;这一步决定了后续所有工作的稳定性。我遇到过不少因为环境问题导致的安装失败案例&#xff0c;大多数都…...

提示工程架构师用Agentic AI,为智能城市提升品质生活

提示工程架构师&#xff1a;借助Agentic AI提升智慧城市品质生活 一、引言 (Introduction) 钩子 (The Hook) 想象一下&#xff0c;你生活在这样一个城市&#xff1a;每天清晨&#xff0c;你的智能设备会根据当天的天气、你的日程安排&#xff0c;精准推荐最适宜的衣物和出行方式…...