【问题标题】:Run two different instances of the same script with different configuration使用不同的配置运行同一脚本的两个不同实例
【发布时间】:2021-11-03 13:20:53
【问题描述】:

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

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

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

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

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: python windows std stdout stdin


【解决方案1】:

任务安排有两种可能性。

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

What is the difference between a process and a thread?

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    相关资源
    最近更新 更多