python怎么完成工作流_在python中实现此工作流的最佳方法

我想用Python实现以下工作流。在这个例子中,我有5个进程在运行平行。一过程被定义为经理,而其他人都是工人。经理以循环方式多次执行控制例行程序,直到所有工人停止。在

关于这个问题的主要观点是,每个工人从一个不同的工作清单开始。然而,当他们在处理他们的工作时,他们会将更多的工作添加到自己的列表中,并且在某些情况下,重复工作的情况会发生在工人身上。经理的职责是避免重复工作。在

e8b46cd04c484a859e12c7165d0e68ab.png

我目前正在尝试使用Python多处理和管道来实现这一点。下面是我的代码,用于对通信进行测试:import multiprocessing as mp

import time

import random

def checkManager(i, data_pipe, com_pipe, work_list):

com_out, com_in = com_pipe

if com_out.poll(): ##check if there is anything to read

msg = com_out.recv()

print i, " received message ", msg

if msg == "SEND":

data_out, data_in = data_pipe

data_in.send(work_list)

work_list = com_out.recv()<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现Python实现工作流,通常需要使用相应的工作流框架或库。以下是一些常用的工作流框架或库: 1. Apache Airflow:这是一个基于Python工作流管理工具,可以用于调度、监控和维护复杂的工作流。 2. Prefect:一个用于构建工作流的现代Python库,它提供了一个可编程的、声明性的API,可以用于定义、运行和监控工作流。 3. Luigi:一个轻量级的Python工作流框架,它提供了一个简单的API,可以用于定义和运行工作流。 使用这些工作流框架或库,可以通过Python编写自定义任务、流程和依赖关系,以及自动化处理和部署工作流。例如,使用Apache Airflow,可以通过以下代码定义一个简单的工作流: ``` from airflow import DAG from airflow.operators.bash_operator import BashOperator from datetime import datetime, timedelta default_args = { 'owner': 'airflow', 'depends_on_past': False, 'start_date': datetime(2021, 1, 1), 'email': ['airflow@example.com'], 'email_on_failure': False, 'email_on_retry': False, 'retries': 1, 'retry_delay': timedelta(minutes=5), } dag = DAG( 'my_dag', default_args=default_args, description='A simple tutorial DAG', schedule_interval=timedelta(days=1), ) t1 = BashOperator( task_id='print_date', bash_command='date', dag=dag, ) t2 = BashOperator( task_id='sleep', bash_command='sleep 5', retries=3, dag=dag, ) t1 >> t2 ``` 这个代码片段定义了一个名为“my_dag”的工作流,其包含两个任务:一个打印日期,一个休眠5秒。这些任务由BashOperator运行,并且t2任务具有重试逻辑。任务之间的依赖关系由“>>”操作符定义。您可以使用类似的代码定义和运行自定义工作流
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值