title: APScheduler - job not executed
body: <p>I'm new to APScheduler and testing it before implementing it in a larger scope.</p>
  
  <p>I have created the code below, but somehow my functions are never called when I use add_job with <code>trigger='date'</code>. If I use <code>trigger='interval'</code>, then everything works fine. </p>
  
  <p>I also tried to play with <code>run_date</code> param, with no luck.</p>
  
  <p>Any idea about what could be wrong ?</p>
  
  <p>Apscheduler is version 3.0.3</p>
  
  <p>Many thanks in advance :)</p>
  
  <pre><code>def my_listener(event):
      if event.exception:
          print('The job crashed :(')
      else:
          print('The job worked :)')
  
  def test():
      print("{}  ok ".format(datetime.now()))
  
  
  def myFunc(content, img):
      print("{} - content={}|image{}".format(datetime.now(), content, img))
      myfile = open("scheduler.log", "a")
      myfile.write("{} - content={}|image{}".format(datetime.now(), content, img))
      myfile.close()
  
  def main():
      jobstores = \
          {
              'default': SQLAlchemyJobStore(url="postgresql+psycopg2://{}:{}@{}:{}/{}".format(db_user, db_password, db_host, db_port, db_database))
          }
  
      executors = \
          {
              'default': ThreadPoolExecutor(20),
              'processpool': ProcessPoolExecutor(5)
          }
  
      job_defaults = \
          {
              'coalesce': False,
              'max_instances': 3
          }
  
      scheduler = BackgroundScheduler(jobstores=jobstores, executors=executors, job_defaults=job_defaults, timezone=utc)
      scheduler.start()
      CURR_DATE = datetime.strptime(datetime.strftime(datetime.now(), '%Y%m%d%H%M'), '%Y%m%d%H%M')
      JOB_DATE = CURR_DATE + timedelta(minutes=1)
      uid=uuid.uuid4()
      newjob = scheduler.add_job(myFunc,
                                  trigger='date',
                                  args=['content data', 'image data'],
                                  kwargs=None,
                                  id=str(uid),
                                  name='test' + str(uid),
                                  misfire_grace_time=5,
                                  coalesce=False,
                                  max_instances=1,
                                  next_run_time= JOB_DATE,
                                  jobstore='default',
                                  executor='default',
                                  replace_existing=True)
  
      print("Added - {}".format(newjob))
      scheduler.add_listener(my_listener, events.EVENT_JOB_EXECUTED | events.EVENT_JOB_ERROR)
      scheduler.print_jobs()
      while True:
          sys.stdout.write('{}\n'.format(datetime.now())); sys.stdout.flush()
          sleep(1)
  
  if __name__ == "__main__":
      main()
  </code></pre>