title: Make API request every x seconds in Python 3
body: <p>I am trying to do stress test on a server using Python 3. The idea is to send an HTTP request to the API server every 1 second for 30 minutes. I tried using <code>requests</code> and <code>apscheduler</code> to do this but I kept getting</p>
  
  <blockquote>
    <p>Execution of job "send_request (trigger: interval[0:00:01], next run at: 2017-05-23 11:05:46 EDT)" 
    skipped: maximum number of running instances reached (1)</p>
  </blockquote>
  
  <p>How can I make this work? Below is my code so far:</p>
  
  <pre><code>import requests, json, time, ipdb
  from apscheduler.schedulers.blocking import BlockingScheduler as scheduler
  
  def send_request():
      url = 'http://api/url/'
  
      # Username and password
      credentials = { 'username': 'username', 'password': 'password'}
  
      # Header
      headers = { 'Content-Type': 'application/json', 'Client-Id': 'some string'}
  
      # Defining payloads
      payload = dict()
  
      payload['item1']    = 1234
      payload['item2'] = 'some string'
      data_array = [{"id": "id1", "data": "some value"}]
      payload['json_data_array'] = [{ "time": int(time.time()), "data": data_array]
  
      # Posting data
      try:
          request = requests.post(url, headers = headers, data =  json.dumps(payload))
      except (requests.Timeout, requests.ConnectionError, requests.HTTPError) as err:
          print("Error while trying to POST pid data")
          print(err)
      finally:
          request.close()
  
      print(request.content)
  
      return request.content
  
  if __name__ == '__main__':
      sched = scheduler()
      print(time.time())
      sched.add_job(send_request, 'interval', seconds=1)
      sched.start()
      print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
  
      try:
          # This is here to simulate application activity (which keeps the main thread alive).
          while true:
              pass
      except (KeyboardInterrupt, SystemExit):
          # Not strictly necessary if daemonic mode is enabled but should be done if possible
          scheduler.shutdown()
  </code></pre>
  
  <p>I tried searching on stack overflow but none of the other questions does what I want so far, or maybe I missed something. I would appreciate someone to point me to the correct thread if that is the case. Thank you very much!</p>