• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

loveapple / web-crawler / 39

15 Jul 2025 04:03AM UTC coverage: 75.532% (-20.6%) from 96.154%
39

push

circleci

Chunli Hao
support multi thread

21 of 37 new or added lines in 3 files covered. (56.76%)

6 existing lines in 2 files now uncovered.

71 of 94 relevant lines covered (75.53%)

0.76 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

80.0
/src/main/java/com/happinesea/webcrawler/config/CrawlerComponents.java
1
package com.happinesea.webcrawler.config;
2

3

4
import java.time.LocalDateTime;
5

6
import org.springframework.batch.item.ItemProcessor;
7
import org.springframework.batch.item.ItemReader;
8
import org.springframework.batch.item.ItemWriter;
9
import org.springframework.batch.item.support.ListItemReader;
10
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.context.annotation.Bean;
12
import org.springframework.context.annotation.Configuration;
13
import org.springframework.web.client.RestTemplate;
14

15
import com.happinesea.webcrawler.Const.ProcessStatus;
16
import com.happinesea.webcrawler.entity.SiteInfoProcessPool;
17
import com.happinesea.webcrawler.repository.SiteInfoProcessRepository;
18

19
@Configuration
20
public class CrawlerComponents {
1✔
21

22
    @Autowired
23
    private SiteInfoProcessRepository siteInfoProcessRepository;
24

25
    //@Autowired
26
   // private RestTemplate restTemplate;
27

28
    @Bean
29
    public ItemReader<SiteInfoProcessPool> siteInfoProcessReader() {
30
        return new ListItemReader<>(
1✔
31
            siteInfoProcessRepository.findByProcessStatusNot(ProcessStatus.PROCESSING)
1✔
32
        );
33
    }
34

35
    @Bean
36
    public ItemProcessor<SiteInfoProcessPool, SiteInfoProcessPool> siteInfoProcessor() {
37
        return process -> {
1✔
38
            process.setProcessStatus(ProcessStatus.PROCESSING);
1✔
39
            siteInfoProcessRepository.save(process); // 状態をPROCESSINGに更新
1✔
40

41
            try {
NEW
42
                String url = process.getSiteCategory().getCategoryUrl();
×
43
                //String content = restTemplate.getForObject(url, String.class);
44
                // TODO: content を使った実処理
NEW
45
                process.setProcessStatus(ProcessStatus.SUCCESS);
×
46
            } catch (Exception e) {
1✔
47
                process.setProcessStatus(ProcessStatus.FAIL);
1✔
UNCOV
48
            }
×
49
            process.setProcessTime(LocalDateTime.now());
1✔
50
            return process;
1✔
51
        };
52
    }
53

54
    @Bean
55
    public ItemWriter<SiteInfoProcessPool> siteInfoProcessWriter() {
56
        return items -> siteInfoProcessRepository.saveAll(items);
1✔
57
    }
58

59
    @Bean
60
    public RestTemplate restTemplate() {
61
        return new RestTemplate();
1✔
62
    }
63
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc