Thanks Eli ! The cache time was the issue. memcache.set() does not set if id already present. So I am using delete and add. I cannot be sure id is present, memcache could be deleted because of memory pressure from app engine, right ?
On Feb 7, 10:18 am, Eli Jones <[email protected]> wrote: > One minor thing I noticed.. why not use memcache.set() instead of > memcache.delete(), memcache.add()? > > > > On Sun, Feb 7, 2010 at 6:22 AM, observer247 <[email protected]> wrote: > > This is my code: > > > ret = memcache.add(key=mykey, value=qList, time= > > 60*60*24*30) > > logging.critical("Created cache batch %s Passed %s" % > > (mykey, str(ret))) > > > qList = memcache.get(mykey) > > > For some reason, qList is None ! I have logged all values and qList is > > a non empty list. Check code below where I print a lot of info in the > > logs. > > > Detailed code here: > > > def MY_QC_MAX(): return 3 > > def MY_QC_SIZE(): return 200 > > > def createBatchMyModels(): > > import random > > for n in range(MY_QC_MAX()): > > bnum = n + 1 > > mykey = "qkey_batch_"+str(bnum) > > qQ = MyModel.all(keys_only=True).filter('approved', > > True) > > if bnum > 1: > > qQ = qQ.filter('__key__ >', last_key) > > rows = qQ.fetch(MY_QC_SIZE()) > > tot = len(rows) > > if tot < MY_QC_SIZE(): > > logging.critical("Not enough MyModels for > > batch %u, got %u" % (bnum, tot)) > > if tot == 0: > > return > > last_key = rows[tot - 1] > > # create the qList > > qList = list() > > logging.critical("Added %u rows into key %s" % (tot, > > mykey)) > > tmpc = 0 > > for r in rows: > > if tmpc == 0: > > logging.critical("elem %u into key %s" > > % (r.id(), mykey)) > > tmpc = tmpc + 1 > > qList.append(r.id()) > > > for elem in qList: > > logging.info("key %s elem is %u" % (mykey, > > elem)) > > memcache.delete(mykey) > > ret = memcache.add(key=mykey, value=qList, time= > > 60*60*24*30) > > logging.critical("Created cache batch %s Passed %s" % > > (mykey, str(ret))) > > > qList = memcache.get(mykey) > > if qList is None: > > logging.critical(".. getNextMyModel: Did not > > find key %s" % mykey) > > else: > > logging.critical(".. LEN : %u" % len(qList)) > > > Sample log: > > ..... > > 02-07 03:15AM 05.240 key qkey_batch_1 elem is 13108 > > C 02-07 03:15AM 05.250 Created cache batch qkey_batch_1 Passed True > > C 02-07 03:15AM 05.253 .. getNextQuestion: Did not find key > > qkey_batch_1 > > C 02-07 03:15AM 05.339 Added 200 rows into key qkey_batch_2 > > ... > > > Can anyone pls help ! > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google App Engine" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<google-appengine%2Bunsubscrib > > [email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
