Ours 是在 Struts2 框架上使用 Hibernate 3.5 ORM 开发的 Java Web 应用程序。我们想异步运行一些任务(计划的和非计划的)。在谷歌搜索中,我找到了 Celery Library,这是一个异步任务队列/作业队列,专注于实时操作并支持调度。
我可以在我们现有的 java 项目中使用这个库吗?我是否需要为此库添加任何其他依赖项。请为此建议我一个解决方案。
我们希望为我们的项目异步执行的任务包括发送电子邮件、从收集的数据生成 csv 文件等,
我们将 celery 与 C#/.Net 应用程序结合使用。Celery 对通过 HTTP 接受任务和查询任务状态有很好的支持,这就是我们使用的。有关更多信息,请参阅 Celery HTTP 网关示例应用程序:
https://github.com/celery/celery/tree/master/examples/celery_http_gateway
不知道芹菜是什么。它不是 Python 库吗?
在 Java 中,有多种方法可以组织您的计划作业:
我为此使用 Spring Services。
@Service
public class MyAsynchronousService {
@Scheduled(cron = "0 0 6 * * *")
public void runDailyAtSixAClock() {
...
}
}
在使用 Struts2 和 Hibernate 时,Spring 与 DI 一样运行良好。只需使用 struts2-spring-plugin。