【问题标题】:Better way of excuting a always running app?执行始终运行的应用程序的更好方法?
【发布时间】:2022-12-01 17:05:13
【问题描述】:

再会。

我对实现需要每 5 分钟运行一次的代码的正确方法有疑问。

是否更好:

  • A - 代码内部有一个 5 分钟后开始的时间循环,并且 执行。
  • B - 有一个脚本每 5 分钟运行一次并执行您的
    应用。
  • C - 其他?

BG:这将在 Windows Server 2022 上运行,如果满足某些条件,每 5 分钟发送一次邮件。

谢谢你。

【问题讨论】:

  • cronjob 每 5 分钟运行一次
  • 计划在哪个操作系统上部署该应用程序?
  • @S3DEV 这将在 Windows 服务器 2022 上
  • B. 脚本名为Windows Task Scheduler,附带权限管理等。Windows服务器管理员可以告诉你
  • a) 编写一个只负责发送电子邮件的脚本,并按照@DarknessPlusPlus 的建议使用 cron 作业 b) 编写一个带有调度程序的脚本,每 5 分钟执行一次作业。 (这个脚本不能被杀死,所以你可能需要在系统每次启动时在后台运行它)c)提供有关问题的更多细节

标签: python


【解决方案1】:

B.) 该脚本名为 Windows Task Scheduler 并带有权限管理等。Windows 服务器管理员可以告诉您。

为什么?

  1. 您的应用程序可能存在内存泄漏(好吧,Python 不是那么多),并且每次重新启动时它都运行得更稳定。
  2. 休眠的应用程序仍在使用内存,当它醒来时,内存可能会交换到磁盘并读回。如果应用程序终止,内存将被释放并且不会交换到磁盘。
  3. 您的应用程序可能会崩溃并且不再按照您期望的方式在每个时间间隔内完成
  4. 用户可能(不小心?)以相同的效果终止您的应用程序

    为什么不/何时不?

    1. 如果初始化应用程序的时间(例如从数据库或磁盘读取数据)需要很长时间(尤其是比睡眠时间长)。

【讨论】:

    猜你喜欢
    • 2013-09-19
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2017-04-04
    • 2018-02-07
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多