@@ -13,16 +13,17 @@ use std::{
13
13
14
14
const FIX_RANGE_SECOND : i64 = 10 * 60 ;
15
15
16
- async fn crawl < R : Rng > ( url : & str , rng : & mut R , client : AtCoderClient ) -> Result < ( ) > {
16
+ async fn crawl < R : Rng > ( url : & str , rng : & mut R , username : & str , password : & str ) -> Result < ( ) > {
17
17
log:: info!( "Start crawling..." ) ;
18
18
let pg_pool = initialize_pool ( & url) . await ?;
19
+ let client = AtCoderClient :: new ( username, password) . await ?;
19
20
let mut crawler = VirtualContestCrawler :: new ( pg_pool. clone ( ) , client. clone ( ) , rng) ;
20
21
crawler. crawl ( ) . await ?;
21
22
log:: info!( "Finished crawling" ) ;
22
23
23
24
log:: info!( "Starting fixing..." ) ;
24
25
let cur = Utc :: now ( ) . timestamp ( ) ;
25
- let crawler = FixCrawler :: new ( pg_pool, client. clone ( ) , cur - FIX_RANGE_SECOND ) ;
26
+ let crawler = FixCrawler :: new ( pg_pool, client, cur - FIX_RANGE_SECOND ) ;
26
27
crawler. crawl ( ) . await ?;
27
28
log:: info!( "Finished fixing" ) ;
28
29
@@ -43,15 +44,8 @@ async fn main() {
43
44
log:: info!( "Start new loop..." ) ;
44
45
let now = Instant :: now ( ) ;
45
46
46
- match AtCoderClient :: new ( & username, & password) . await {
47
- Ok ( client) => {
48
- if let Err ( e) = crawl ( & url, & mut rng, client) . await {
49
- log:: error!( "{:?}" , e) ;
50
- }
51
- }
52
- Err ( e) => {
53
- log:: error!( "{:?}" , e) ;
54
- }
47
+ if let Err ( e) = crawl ( & url, & mut rng, & username, & password) . await {
48
+ log:: error!( "{:?}" , e) ;
55
49
}
56
50
57
51
let elapsed_secs = now. elapsed ( ) . as_secs ( ) ;
0 commit comments