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