在后台运行在服务器上的周期性任务
-
19-08-2019 - |
题
什么是到Tomcat / Jetty服务器上运行的周期性任务(如守护线程)的最佳/最简单的方法是什么?如何启动线程?有一个简单的机制,或者这是在所有的坏主意?
解决方案
没关系,有效地藏匿一个java.util.Timer中(或更好,但ScheduledExecutor)实例在ServeletContext。在Servlet的init创建它()调用和你的servlet可以添加TimerTasks它。
其他提示
如果想保持Java方面的一切,给看看到石英。结果 它处理故障转移和作业细粒重新分区,与cron作业的同样的灵活性。
其中一个工作在很多系统中通用的办法就是有,它可以对您的应用程序的周期wget的cron作业。
我不能回答的是tomcat /码头的东西,但我做了类似的事情与基于Python的Web应用程序。
我通常只运行一个单独的应用程序,并需要定期任务。如果需要的网站和应用程序之间的互操作,即通信可以通过某种API的出现(使用类似XML-RPC / Unix套接字/等),或者甚至只是通过数据库层,如果这是足够的。
希望有所帮助。
如果你想使用cron作业,但没有到开发系统的管理权限,您可以通过执行命令做一个用户的crontab:
crontab -e
这在大多数系统上使用VI默认,但你可以将其更改为通过您选择的编辑器:
export EDITOR=/usr/local/bin/my_editor
然后,执行的crontab -e命令将在编辑器中启动您的crontab文件。保存时,更改将被提交到系统中的cron。
不隶属于 StackOverflow