我有一个服务器端nodejs express应用程序,它响应来自前端客户端的请求。我需要实现一个每小时运行一次的批处理作业。如果我在同一服务中实现批处理作业,是否意味着该服务已被“占用”,直到cron作业完成且无法提供任何请求? 我应该创建一个单独的服务来运行批处理作业吗?
答案 0 :(得分:3)
如果您的批处理作业没有占用cpu 100%,那么服务器仍将提供请求。每次执行异步操作或等待计时器时,快速根例程都有足够的时间来处理请求。
我不知道你的工作和服务器在做什么,请从available for free as a PDF here查看。如果作业调度程序和服务器属于一起,则将它们一起实现,否则我建议从中提供两个服务。
答案 1 :(得分:0)
使用JAVA编程语言处理过很多批处理作业,并已作为ETL工具处理和移动了数百万行数据。并且具有使用Linux crone调度程序的Core NODE框架的经验,其工作速度比以前使用低级服务器的JAVA操作要快得多,而使用Java的重型配置服务器仍然面临内存问题。
您可以使用NODEJS来实现crone作业,您必须制作SH文件并通过节点命令直接运行JS文件并调用您的DB连接或CSV来加载或传输。