首页 > 解决方案 > 使用不同的配置运行同一脚本的两个不同实例

问题描述

我有一个简单的脚本,负责从外部 API 获取数据,我们称之为 connector.py。该脚本将一些参数作为输入,完成其工作,然后将其写入文件并返回输出。

我想实现一个调度程序,它将创建和管理该脚本的两个实例,每个实例都有自己的输入(不同的设置),并使它们以配置的间隔运行,并具有下一个约束:

  • 输入:将连接器的参数从设置中通过标准输入通道传递给子进程(不是作为进程参数)
  • 输出:将子流程的连接器输出通过标准输出通道传递给服务
  • 我必须自己实现恒定循环周期(例如不使用调度程序)

为了实现这个目标processes?,我应该使用什么机制threads?sub-process? 我主要是在努力理解如何处理不同连接器实例的标准输入/标准输出问题。任何建议都会受到重视。

标签: pythonwindowsstdstdoutstdin

解决方案


调度任务有两种可能性。

让你的脚本成为一个每次都会运行的工厂,直到有东西停止它。因此,您将有可能选择线程或进程(子进程使用进程)。这里稍微介绍一下线程和进程。(如果我使用这种方法,我会使用子流程)

进程和线程有什么区别?

https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/

但是,在您的情况下,我看不到使用线程或子进程的实用程序,因为您告诉我们您将使它们以配置的间隔运行。您可以将程序整合到您的程序中,以使它们单独运行。

对于任务调度,您还可以使用 cronjobs。它允许根据日期、重复、用户等执行命令。这里有一些关于如何设置 cronjob 的详细信息:

https://phoenixnap.com/kb/set-up-cron-job-linux


推荐阅读