code: def _get_exposures_requiring_pyephem_positions(
              self,
              concurrentSnapshots=10):
          
          self.log.info(
              'starting the ``_get_exposures_requiring_pyephem_positions`` method')
  
          if self.dev_flag == True:
              dev_flag = " and dev_flag = 1"
          else:
              dev_flag = ""
  
          sqlQuery = u"""
              select distinct pyephem_mjd from atlas_exposures where pyephem_positions = 0 and local_data = 1 %(dev_flag)s order by pyephem_mjd asc
          """ % locals()
          rows = readquery(
              log=self.log,
              sqlQuery=sqlQuery,
              dbConn=self.atlasMoversDBConn,
              quiet=False
          )
  
          snapshotsRequired = len(rows)
  
          if snapshotsRequired == 0:
              return [], [], 0
  
          nextMjds = []
          nextMjds[:] = [r["pyephem_mjd"] for r in rows[:concurrentSnapshots]]
  
          exposures = []
          for nextMjd in nextMjds:
              sqlQuery = u"""
                  select * from atlas_exposures where pyephem_positions = 0 %(dev_flag)s and pyephem_mjd = %(nextMjd)s
              """ % locals()
              theseExps = readquery(
                  log=self.log,
                  sqlQuery=sqlQuery,
                  dbConn=self.atlasMoversDBConn,
                  quiet=False
              )
              exposures.append(list(theseExps))
  
          self.log.info(
              'completed the ``_get_exposures_requiring_pyephem_positions`` method')
          return nextMjds, exposures, snapshotsRequired
docs: *get next batch of exposures requiring pyephem positions*
  
          **Key Arguments:**
              -  ``concurrentSnapshots`` -- number of concurrent PyEphem snapshots to process