From af92ad23c2a7078253eb175a5ce41c5186c0f9ba Mon Sep 17 00:00:00 2001 From: xjs <1294405880@qq.com> Date: Tue, 22 Feb 2022 10:00:12 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=AE=9E=E7=8E=B0=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=90=9C=E7=8B=97=E7=88=AC=E8=99=AB=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RemoteWebmagicWeiXinSouGouFeign.java | 21 ++++++++++ .../RemoteWebmagicWeiXinSouGouFactory.java | 27 +++++++++++++ .../job/task/webmagic/WeiXinSouGouTask.java | 38 +++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/webmagic/RemoteWebmagicWeiXinSouGouFeign.java create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/webmagic/factory/RemoteWebmagicWeiXinSouGouFactory.java create mode 100644 ruoyi-modules/ruoyi-job/src/main/java/com/xjs/job/task/webmagic/WeiXinSouGouTask.java diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/webmagic/RemoteWebmagicWeiXinSouGouFeign.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/webmagic/RemoteWebmagicWeiXinSouGouFeign.java new file mode 100644 index 00000000..768bcd25 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/webmagic/RemoteWebmagicWeiXinSouGouFeign.java @@ -0,0 +1,21 @@ +package com.xjs.business.webmagic; + +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import com.xjs.business.webmagic.factory.RemoteWebmagicWeiXinSouGouFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * 内部 调用 微信搜狗 爬虫定时任务feign + * @author xiejs + * @since 2022-02-22 + */ +@FeignClient(contextId = "remoteWebmagicWeiXinSouGouFeign", + value = ServiceNameConstants.BUSINESS_WEBMAGIC_SERVICE, + fallbackFactory = RemoteWebmagicWeiXinSouGouFactory.class) +public interface RemoteWebmagicWeiXinSouGouFeign { + + @GetMapping("/weixin_sougou/taskForPRC") + R WeiXinSouGouTaskForPRC() ; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/webmagic/factory/RemoteWebmagicWeiXinSouGouFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/webmagic/factory/RemoteWebmagicWeiXinSouGouFactory.java new file mode 100644 index 00000000..23e2c83e --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/webmagic/factory/RemoteWebmagicWeiXinSouGouFactory.java @@ -0,0 +1,27 @@ +package com.xjs.business.webmagic.factory; + +import com.ruoyi.common.core.domain.R; +import com.xjs.business.webmagic.RemoteWebmagicWeiXinSouGouFeign; +import lombok.extern.log4j.Log4j2; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * 内部 调用 微信搜狗 爬虫定时任务feign降级 + * @author xiejs + * @since 2022-02-22 + */ +@Component +@Log4j2 +public class RemoteWebmagicWeiXinSouGouFactory implements FallbackFactory { + @Override + public RemoteWebmagicWeiXinSouGouFeign create(Throwable cause) { + return new RemoteWebmagicWeiXinSouGouFeign() { + @Override + public R WeiXinSouGouTaskForPRC() { + log.error("微信搜狗 爬虫定时任务 降级------服务可能正在运行"); + return R.fail("降级处理------服务可能正在运行"); + } + }; + } +} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/xjs/job/task/webmagic/WeiXinSouGouTask.java b/ruoyi-modules/ruoyi-job/src/main/java/com/xjs/job/task/webmagic/WeiXinSouGouTask.java new file mode 100644 index 00000000..e711b66a --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/xjs/job/task/webmagic/WeiXinSouGouTask.java @@ -0,0 +1,38 @@ +package com.xjs.job.task.webmagic; + +import cn.hutool.core.date.DateUtil; +import com.ruoyi.common.core.domain.R; +import com.xjs.business.webmagic.RemoteWebmagicWeiXinSouGouFeign; +import lombok.extern.log4j.Log4j2; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; + +/** + * 爬虫 微信搜狗 定时任务 + * @author xiejs + * @since 2022-02-22 + */ +@Component("WeiXinSouGouTask") +@Log4j2 +public class WeiXinSouGouTask { + + @Resource + private RemoteWebmagicWeiXinSouGouFeign remoteWebmagicWeiXinSouGouFeign; + + public void weiXinSouGou() { + log.info("---------------爬虫-微信搜狗定时任务Start-------------------"); + LocalDateTime localDateTime1 = DateUtil.date().toLocalDateTime(); + + R r = remoteWebmagicWeiXinSouGouFeign.WeiXinSouGouTaskForPRC(); + + log.info("爬虫-微信搜狗定时任务结果:code={},msg={},data={}",r.getCode(),r.getMsg(),r.getData()); + LocalDateTime localDateTime2 = DateUtil.date().toLocalDateTime(); + long between = ChronoUnit.MILLIS.between(localDateTime1, localDateTime2); + log.info("爬虫-微信搜狗定时任务Job耗费时间:{}ms", between); + log.info("---------------爬虫-微信搜狗定时任务end---------------------"); + } + +}