当前位置: 首页 > 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或更高版本…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...