title: Apex Batch Job Start and Execute are not ran (no debug statements from them showing up)
body: <p>My batch job class is as follows:</p>
  
  <pre><code>global class GroupMemberSearch implements Database.Batchable&lt;SObject&gt;{
  
  global String groupQuery;
  global final Map&lt;Id, Group&gt; 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&lt;SObject&gt; scope){
      system.debug(scope);
      List&lt;groupInfo&gt; grpMemberList = new List&lt;groupInfo&gt;();
      for(Group s : (List&lt;Group&gt;)scope){
          system.debug(s);
          groupInfo newGroup = new groupInfo();
          if(s.Name != null){
              set&lt;Id&gt; memberIdSet = getGroupMembers(new set&lt;Id&gt;{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&lt;Id&gt; getGroupMembers(set&lt;Id&gt; groupIds, Integer queryLimit){
      set&lt;Id&gt; nestedIds = new set&lt;Id&gt;();
      set&lt;Id&gt; returnIds = new set&lt;Id&gt;();
      if(queryLimit &lt; 5){
      List&lt;GroupMember&gt; 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() &gt; 0){
          returnIds.addAll(getGroupMembers(nestedIds, queryLimit));
      }
      return returnIds;
  }
  
  public class groupInfo{
      public String groupId;
      public String groupName;
      public set&lt;Id&gt; groupMemberIds;
  }
  }
  </code></pre>
  
  <p>And in my apex controller, I call</p>
  
  <pre><code>Id batchProcessId = Database.executeBatch(new GroupMemberSearch('SELECT Id, OwnerId, Name, Email FROM Group WHERE Name != null'), 20);
  </code></pre>
  
  <p>which returns a batch Id, and I see the system.debug from the apex batch job constructor... However, I don't see any system.debugs from the start and execute methods... I restricted my log to show only debug statements and they were not in there anywhere. I know my query returns a list of groups, even if it didn't, I should still see the system.debug from the start method before the return...</p>
  
  <p>I want this batch job ran when the page is loaded, thus it is in the constructor of the apex controller. </p>
  
  <p>Any idea why the start and execute methods are not being ran??</p>
  
  <p>Thank you for any help!</p>