解决Salesforce上的Batch限制问题(salesforce Apex Batch Governor)

1 篇文章 0 订阅
1 篇文章 0 订阅
Keyword:salesforce Apex Batch Governor
解决Salesforce上的Batch限制问题
通过Schedulable来调整每次登陆的数量,进而规避Salesforce的限制。
例如:

global class doUpsertStudentBatch implements Schedulable {

    //每次ExecuteMethod处理的件数设定
    private final Integer BATCH_SIZE = 100;

    //Batch执行
    global void execute(SchedulableContext ctx) {

        //想要处理的对象,通过SOQL对其进行查询,并取出相关的信息
        String SOQL = 'SELECT Name__c,  '
                           + 'Class__c,  '
                           + 'Grade__c,  '
                           + 'Zhongwen__c, ' 
                           + 'English__c  '
                           + 'FROM STUDENT__c WHERE Sex__c=\'MAN\'';
        UpsertStudentsBatch b = new UpsertStudentsBatch(SOQL);
        Database.executeBatch(b, BATCH_SIZE);
    }
}

 

public class UpsertStudentsBatchimplements Database.Batchable<sObject>, Database.Stateful {

 

   private Integer recordCount {get; set;}

 

   public UpsertStudentsBatch () {

 

       this.recordCount = 0;

    }

 

   public Database.QueryLocator start(Database.BatchableContext BC) {

          return Database.getQueryLocator(query);

    }

 

   public void execute(Database.BatchableContext BC, List<sObject>scope) {

       for (Contact cont : scope) {

           cont.Class__c = '五年级';

           this.recordCount++;

 

        }

       update scope;

    }

 

   public void finish(Database.BatchableContext BC) {

 

    }

 

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值