如何在Java Web应用程序中使用Celery



Ours是一个在Struts2框架和Hibernate 3.5 ORM上开发的Java Web应用程序。 我们希望异步运行一些任务(计划和非计划)。在谷歌搜索中,我找到了Celery Library,这是一个异步任务队列/作业队列,专注于实时操作并支持调度。

我可以在我们现有的 Java 项目中使用此库吗? 我是否需要为此库添加任何其他依赖项。请向我建议一个解决方案。

我们想要为项目异步执行的任务包括发送电子邮件、从收集的数据生成 csv 文件等,

我为此使用Spring Services。

@Service
public class MyAsynchronousService {
    @Scheduled(cron = "0 0 6 * * *")
    public void runDailyAtSixAClock() {
        ...
    }
}

当使用已经的Struts2和Hibernate时,Spring作为DI运行良好。只需使用 struts2-spring-plugin。

不知道芹菜是什么。它不是Python库吗?

在 Java 中,有许多方法可以组织计划作业:

  • 石英
  • @Scheduled
  • 春季批次

我们将芹菜与 C#/.Net 应用程序结合使用。 Celery 很好地支持通过 HTTP 接受任务和查询任务状态,这就是我们使用的。有关详细信息,请参阅 Celery HTTP 网关示例应用:

https://github.com/celery/celery/tree/master/examples/celery_http_gateway

相关内容

  • 没有找到相关文章

最新更新