Salesforce Apex批处理作业启动和执行未运行(未显示来自它们的调试语句)

Salesforce Apex批处理作业启动和执行未运行(未显示来自它们的调试语句),salesforce,batch-processing,apex,Salesforce,Batch Processing,Apex,我的批处理作业类别如下所示: global class GroupMemberSearch implements Database.Batchable<SObject>{ global String groupQuery; global final Map<Id, Group> groupIdMap; global GroupMemberSearch(String groupQuery){ system.debug(groupQuery); this.

我的批处理作业类别如下所示:

global class GroupMemberSearch implements Database.Batchable<SObject>{

global String groupQuery;
global final Map<Id, Group> groupIdMap;

global GroupMemberSearch(String groupQuery){
    system.debug(groupQuery);
    this.groupQuery = groupQuery;
}

global Database.QueryLocator start(Database.BatchableContext BC){
    system.debug('In batch start');
    return Database.getQueryLocator(groupQuery);
}
global void execute(Database.BatchableContext BC, List<SObject> scope){
    system.debug(scope);
    List<groupInfo> grpMemberList = new List<groupInfo>();
    for(Group s : (List<Group>)scope){
        system.debug(s);
        groupInfo newGroup = new groupInfo();
        if(s.Name != null){
            set<Id> memberIdSet = getGroupMembers(new set<Id>{s.Id}, 0);
            if(memberIdSet.size() != 0){
                newGroup.groupId = s.Id;
                newGroup.groupName = s.Name;
                newGroup.groupMemberIds = memberIdSet;
                grpMemberList.add(newGroup);
            }
        }
    }
    system.debug(grpMemberList);
}
global void finish(Database.BatchableContext BC){}

private set<Id> getGroupMembers(set<Id> groupIds, Integer queryLimit){
    set<Id> nestedIds = new set<Id>();
    set<Id> returnIds = new set<Id>();
    if(queryLimit < 5){
    List<GroupMember> members = [SELECT Id, GroupId, UserOrGroupId FROM GroupMember WHERE GroupId IN :groupIds];
    for(GroupMember member : members){
        if(Schema.Group.SObjectType == member.UserOrGroupId.getSObjectType()){
            nestedIds.add(member.UserOrGroupId);
        } else{
            returnIds.add(member.UserOrGroupId);
        }
    }
    }
    queryLimit++;
    if(nestedIds.size() > 0){
        returnIds.addAll(getGroupMembers(nestedIds, queryLimit));
    }
    return returnIds;
}

public class groupInfo{
    public String groupId;
    public String groupName;
    public set<Id> groupMemberIds;
}
}
它返回一个批处理Id,我从apex批处理作业构造函数中看到system.debug。。。但是,我没有看到任何system.debugs从开始和执行方法。。。我限制我的日志只显示调试语句,它们不在任何地方。我知道我的查询返回一个组列表,即使它没有返回,我仍然应该在返回之前从start方法看到system.debug

我希望在加载页面时运行此批处理作业,因此它位于apex控制器的构造函数中

知道为什么没有运行start和execute方法吗

谢谢你的帮助

Id batchProcessId = Database.executeBatch(new GroupMemberSearch('SELECT Id, OwnerId, Name, Email FROM Group WHERE Name != null'), 20);