Subversion Repositories SmartDukaan

Rev

Rev 37499 | Rev 37589 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37499 Rev 37565
Line 433... Line 433...
433
     * it is direct HTTP plus the captcha solver, no ChromeDriver, so it does not
433
     * it is direct HTTP plus the captcha solver, no ChromeDriver, so it does not
434
     * contend for the resource the oppo/realme pass is rationing.
434
     * contend for the resource the oppo/realme pass is rationing.
435
     *
435
     *
436
     * ~9,510 imeis at roughly 2.5s each is about 6.6 hours.
436
     * ~9,510 imeis at roughly 2.5s each is about 6.6 hours.
437
     */
437
     */
-
 
438
    // One chunk of 250 every 20 seconds until the day's pool is empty, then idle ticks
-
 
439
    // until midnight. Was a single 00:15 pass; the method name is kept so the
-
 
440
    // cron_job_* series and anything keyed on it stay continuous.
-
 
441
    //
-
 
442
    // The 20s cadence is not a throttle -- vivo is 0.24s an imei and does not rate-limit
-
 
443
    // us. It is what makes progress durable: the old pass held one thread for its whole
-
 
444
    // run and kept its position nowhere else, so a restart mid-pass forfeited the rest.
438
    @Scheduled(cron = "0 15 0 * * *")
445
    @Scheduled(fixedDelay = 20 * 1000)
439
    public void vivoImeiActivation() throws Throwable {
446
    public void vivoImeiActivation() throws Throwable {
440
        log.info("startTimevivoImeiActivation" + LocalDateTime.now());
-
 
441
 
-
 
442
        scheduledTasks.checkImeiActivation();
447
        scheduledTasks.checkImeiActivation();
443
 
-
 
444
        log.info("endTimevivoImeiActivation" + LocalDateTime.now());
-
 
445
 
-
 
446
    }
448
    }
447
 
449
 
448
    /**
450
    /**
449
     * Itel activation from Carlcare, Transsion's own after-sales endpoint. 50 imeis every 5
451
     * Itel activation from Carlcare, Transsion's own after-sales endpoint. 50 imeis every 5
450
     * minutes, which spreads the work over the whole day rather than bursting: 14,400 lookups a
452
     * minutes, which spreads the work over the whole day rather than bursting: 14,400 lookups a
Line 554... Line 556...
554
    // which caused more failures, which caused more requests. A snapshotted daily pass
556
    // which caused more failures, which caused more requests. A snapshotted daily pass
555
    // bounds that by construction: a failure costs one retry tomorrow, never one in
557
    // bounds that by construction: a failure costs one retry tomorrow, never one in
556
    // five minutes, however the far end behaves.
558
    // five minutes, however the far end behaves.
557
    //
559
    //
558
    // Judge this change on dates written, not on timeout count.
560
    // Judge this change on dates written, not on timeout count.
-
 
561
    // One chunk of 25 for one brand every 20 seconds, oppo and realme by turns, until
-
 
562
    // both pools are empty for the day. Was a single 00:30 pass that held this thread for
-
 
563
    // 20+ hours; the method name is kept so the cron_job_* series stays continuous.
-
 
564
    //
-
 
565
    // fixedDelay, not fixedRate: the gap is measured from the END of a tick, so a chunk
-
 
566
    // that takes six minutes is not immediately followed by a queued one. The lane
-
 
567
    // self-throttles to whatever the far ends are actually giving us.
-
 
568
    //
-
 
569
    // The start/end log lines are gone deliberately -- at 4,320 ticks a day they were
-
 
570
    // pure volume on a log that is already 1.8GB. StandAlone logs the day boundary and
-
 
571
    // the chunks; idle ticks say nothing at all.
559
    @Scheduled(cron = "0 30 0 * * *")
572
    @Scheduled(fixedDelay = 20 * 1000)
560
    public void oppoRealmeImeiActivation() throws Throwable {
573
    public void oppoRealmeImeiActivation() throws Throwable {
561
        log.info("startTimeOppoRealmeImeiActivation {}", LocalDateTime.now());
-
 
562
 
-
 
563
        standAlone.checkBrowserImeiActivation();
574
        standAlone.checkBrowserImeiActivation();
564
 
-
 
565
        log.info("endTimeOppoRealmeImeiActivation {}", LocalDateTime.now());
-
 
566
    }
575
    }
567
 
576
 
568
    @Scheduled(cron = "0 0 * * * *")
577
    @Scheduled(cron = "0 0 * * * *")
569
    public void markBlueDartOrderDelivered() throws Throwable {
578
    public void markBlueDartOrderDelivered() throws Throwable {
570
        log.info("startTime" + LocalDateTime.now());
579
        log.info("startTime" + LocalDateTime.now());