cron - 从我的服务器每分钟运行一个 cron 作业是否有点矫枉过正?
问题描述
所以我有点困在这里,不知道该走哪条路。我的应用程序现在收到POST
来自我们机器的请求,只要有一台机器出现故障,我们就称它们为警报。发布到我的服务器的一些问题具有特定的步骤,这些IT
人必须遵循这些步骤才能解决机器问题。其中一些步骤是等待特定的时间,例如 15、30 或 60 分钟。在时间范围过去后,警报将移至下一步,依此类推,直到机器重新启动并运行。截至目前,我们正在setTimout()
为每个等待时间的警报做一个,但问题是它发生在客户端,由于其中一些超时被重复,这导致了大量的开销。
显然,现在设置它的方式不是最佳的,也不是最合适的解决方案,所以我正在考虑从服务器端进行此检查。我的第一个想法是在服务器端设置超时,但是这种方法的一些问题是,如果服务器曾经停机或崩溃,这些超时将被删除。我的另一个想法是每分钟从服务器执行一次 cron 工作,以检查是否有任何警报已经过了等待时间,然后从那里更新警报。这将在服务器停机或崩溃并需要重新启动的情况下起作用,但我担心这对服务器来说太过分了。
我真的只是在这里寻找一些好的解决方案,因为我觉得我一直在决定我应该走哪条路线。我倾向于 cron 作业选项,但担心它会使服务器过载。
我不认为为 cron 作业创建超过 1 分钟的间隔会起作用,因为如果两个或多个警报在不同的时间出现,它们需要在它们启动后的 15、30 或 60 分钟后更新.
如果有人对我可以完成此任务的方式有任何建议,那将非常有帮助。谢谢!
解决方案
根据您描述的脚本的作用,每分钟运行一次的 cron 作业对服务器来说并不过分。但是,我建议您使用像supervisord
. 您可以使用它生成工作人员,他们将在完成执行后自动重新启动。这样,每次检查之间的间隔更小,可靠性更高,因为您有多个工作人员进行检查。
推荐阅读
- twilio - 如何在 twilio 试用帐号中接收短信
- assembly - 是否可以从程序集文件中获取 LLVM-IR?
- python - mongodb中的嵌套条目,仅在子字段的最大值上求和和平均值
- python - PyQt5:如何为每个角色设置自定义鼠标指针?
- sql-server - 使用触发器根据总余额标记用户
- android - 如何将 ImageView 放在 MenuItem 上方,以便可以使用 ObjectAnimator 移动它
- c++ - 尽管传递了一个右值,为什么我的移动构造函数没有被调用?
- python-3.x - 如何计算csv文件中数据的均值、最大值、最小值、范围、众数和中位数,并在二维数组中返回值
- azureservicebus - 消费者可以在 Azure 服务总线应用程序的本地部署吗?
- c++ - 字符串向量(从键盘读取)