세일즈포스 관련지식

Batch Class (배치클래스)

으농농이 2022. 5. 4. 11:48

배치클래스 

1. 배치클래스 짠다 

2. 스케줄 코드 짠다. 

3. 배치 테스트코드 짠다.  

 

[ 배치 바로 실행 ]

> 어나니머스에서 아래 코드 넣고 excute 누르기

Database.executeBatch(new 배치클래스이름());

 

ex)

Database.executeBatch(new SME_PointBatch());

 

[ 배치 스케줄 ]

스케줄러클래스명 scheduler = new 스케줄러클래스명(); 
String sch = '0 0 9 * * ?';
System.schedule('스케줄러클래스명', sch, scheduler);

 

ex)

SK_SiteEmpBatchScheduler scheduler = new SK_SiteEmpBatchScheduler(); 
String sch = '0 0 9 * * ?';
System.schedule('SK_SiteEmpBatchScheduler', sch, scheduler);

 

> schedule 만들어주기 위해선 어나니머스창에 아래  내용을 복사해서 excute() 해주기 

String sch = '0 0 9 * * ?'; // 매일 9시에 실행되는 작업만들어주기 

String sch = '0 30 13 * * ?'; // 매일 1시 30 분에 배치실행 스케줄 짜기 

 

 

배치 스케줄 걸면 아래와 Scheduled jobs 에서 확인 가능하다 

Started엔 최초 배치 실행이 되면 , 해당 시간이 찍힌다. 

* 스케줄 걸때 참고할만한 URL

https://salesforcescool.blogspot.com/2021/05/schedule-apex-to-run-every-5-or-10.html?m=1 

 

Schedule Apex to run every 5 or 10 minutes in Salesforce

Scheduled apex to run every 10 minutes, Schedule a Class in Every 5 minutes in Salesforce,Schedule a Class in Every 5 minutes in apex.

salesforcescool.blogspot.com

 

 

연속으로 배치를 실행하는 방법


Batch1 과 Batch2 가 있다고 가정했을 때 

Batch1 의 finish 쪽에 아래와 같이 배치클래스를 실행하면 된다. 

    global void finish(Database.BatchableContext bc) {
        DailyReportASBatch2 BATCH = new DailyReportASBatch2();
        Database.executeBatch(BATCH, 1);
    }
 
위와 같이 입력을 해준다고 하면 Batch1이 끝나고 Batch2 가 실행이 된다. 
 

 

 

'세일즈포스 관련지식' 카테고리의 다른 글

Omnichannel for Customer Service offers  (0) 2022.06.14
SalesCloud vs ServiceCloud  (0) 2022.06.13
프록시란?  (0) 2021.07.18
@RemoteAction  (0) 2021.07.02
CTI (computer telephony integration) 시스템  (0) 2021.07.01