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");