code: def poll(self):
          
          self.runner.module_name = 'async_status'
          self.runner.module_args = "jid=%s" % self.jid
          self.runner.pattern = "*"
          self.runner.background = 0
  
          self.runner.inventory.restrict_to(self.hosts_to_poll)
          results = self.runner.run()
          self.runner.inventory.lift_restriction()
  
          hosts = []
          poll_results = { 'contacted': {}, 'dark': {}, 'polled': {}}
          for (host, res) in results['contacted'].iteritems():
              if res.get('started',False):
                  hosts.append(host)
                  poll_results['polled'][host] = res
              else:
                  self.results['contacted'][host] = res
                  poll_results['contacted'][host] = res
                  if 'failed' in res:
                      self.runner.callbacks.on_async_failed(host, res, self.jid)
                  else:
                      self.runner.callbacks.on_async_ok(host, res, self.jid)
          for (host, res) in results['dark'].iteritems():
              self.results['dark'][host] = res
              poll_results['dark'][host] = res
              self.runner.callbacks.on_async_failed(host, res, self.jid)
  
          self.hosts_to_poll = hosts
          if len(hosts)==0:
              self.completed = True
  
          return poll_results
docs: Poll the job status.
  
              Returns the changes in this iteration.