我是网络服务器的新手。我有一个执行一组计算的 java 类。我想让这个 java 类每小时运行一次,并用数据更新我在 AWS 上的域。
我的问题是如何/在哪里设置此作业运行?有这方面的标准吗?或者 AWS 有我可以使用的东西吗?我知道如何将我的数据读/写到 AWS。
是否应该使用 cron 作业?cron 作业是否应该在 AWS 上运行?
我是网络服务器的新手。我有一个执行一组计算的 java 类。我想让这个 java 类每小时运行一次,并用数据更新我在 AWS 上的域。
我的问题是如何/在哪里设置此作业运行?有这方面的标准吗?或者 AWS 有我可以使用的东西吗?我知道如何将我的数据读/写到 AWS。
是否应该使用 cron 作业?cron 作业是否应该在 AWS 上运行?
为此,您有 2 个选项。
设置一个 cron 作业,让操作系统每隔一小时左右执行一次启动你的 java 程序的脚本。
使用类似Quartz Scheduler的东西。在这种情况下,您的 Java 程序将连续运行,并且调度程序将在您的 Java 程序中。
这两种方法都有各种优点和缺点。第一种情况的好处是,如果程序发生错误,您知道在接下来的一个小时内,将启动一个带有您程序的新实例的新进程,而在第二种情况下,如果您的 Java 程序由于某种原因挂起除非你有某种监控,否则你不会知道。但是,在情况 2 中,您可以维护一些您可能希望在运行之间保留的状态信息。Quartz 还具有许多高级功能,例如在数据库中维护有关执行的信息。
您还可以让 Quartz 调度程序在您的网络服务器本身内运行(因此不需要其他进程)。它只是要包含的几个额外的 .jar 文件。所以这取决于你真正想要做什么。您可以在这里参考它支持的功能。