高章伟
2022-02-18 8b5f4c6c281cfa548f92de52c8021e37aa81901e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
global class NFM609Schedule implements Schedulable {
 
    public  String objectType;
    global NFM609Schedule(String objectType){
        this.objectType = objectType;
    }
    global void execute(SchedulableContext SC) {
        System.debug('objectType---->'+objectType);
        Id execBTId = Database.executeBatch(new NFM609FiledDownloadBatch(objectType), 1);
    }
 
    public static void assignOneMinute(String objectType) {
        // delete 実行済み
        for (CronTrigger ct :
                [SELECT Id FROM CronTrigger WHERE CronJobDetail.Name like 'AttachmentDownload%']) {
            System.abortJob(ct.id);
        }
        Datetime addOneM = System.now().addMinutes(1);
        String CRON_EXP = '0 ' + addOneM.minute() + ' ' + addOneM.hour() + ' ' + addOneM.day() + ' ' + addOneM.month() + ' ? ' + addOneM.year();
        List<CronTrigger> oldcron = [select Id from CronTrigger where State = 'WAITING' and CronJobDetail.Name like 'AttachmentDownload%'];
        
        if (oldcron.size() == 0) {
            System.schedule('AttachmentDownload' + CRON_EXP, CRON_EXP, new NFM609Schedule(objectType));
        }
        
    }
}