def get(self):
    lastRunDateObj = ScheduledInvestRunDate.all().get();
    if (lastRunDateObj == None):
      lastRunDate = date.today() - timedelta(days=20);
      lastRunDateObj = ScheduledInvestRunDate(lastRunDate=lastRunDate, key_name="last_run_date");
      lastRunDateObj.put();
    lastRunDate = lastRunDateObj.lastRunDate;

    startDate = lastRunDate + timedelta(days=1);
    endDate = date.today() - timedelta(days=3);
    currDate = startDate;
    scheduleQuery = ScheduledInvestment.all();
    for scheduledInvest in scheduleQuery:
      while (True):
        if currDate.day == scheduledInvest.dayOfMonth:
          sharePrice = self.get_share_price(currDate, scheduledInvest.ticker);
          invest = Investment(ticker=scheduledInvest.ticker,
                              amount=scheduledInvest.amount,
                              date=currDate,
                              sharePrice=sharePrice,
                              shares=self.num_shares(scheduledInvest.amount, sharePrice));
          invest.put();
        currDate = currDate + timedelta(days=1);
        if currDate > endDate:
          break;
    lastRunDateObj.lastRunDate = endDate;
    lastRunDateObj.put();
    self.response.out.write("scheduled");