Example #1
0
# clear memcache
from google.appengine.api import memcache
from bookcache import *
from wtmb import AppUser, Book
import logging

try:
    memcache.flush_all()
    print "flush all"

    for user in AppUser.all():
        for key in CacheBookIdsOwned.get(user.key()):
            CachedBook.reset(key)
    print "cache cleared."

except DeadlineExceededError:
    self.redirect("/hush/cc")
except e:
    print "exception"
    logging.exception(str(e))
import logging
from google.appengine.ext import db
from google.appengine.api.labs import taskqueue
from wtmb import AppUser

print "hush purging inactive users"
all_users = db.GqlQuery("SELECT __key__ from AppUser LIMIT 1000").fetch(1000)
print 'all users count = ' + str(len(all_users))
actives = AppUser.active_users()
for key in actives:
    all_users.remove(key)
inactives = map(AppUser.get, all_users)
purgatory = []
for user in inactives:
    if user.hasnt_transacted():
        logging.info(user.display_name() + ' hasnt transacted')
        purgatory.append(str(user.key()))
    else:
        logging.info(user.display_name() + ' has transacted')
logging.info(str(len(purgatory)) + '  users to be purged')
batches = []
for i in range(0, len(purgatory), 100):
    batches.append(purgatory[i:i+100])
for batch in batches:
    taskqueue.add(url='/purgeInactive', params={'keycsv': ','.join(batch)})
    
Example #3
0
# introduce nickname on old users

from google.appengine.ext import db
from wtmb import AppUser
import logging

for user in AppUser.all().fetch(100):
    user.change_nickname(user.display_name())
    logging.debug("new nick: " + user.wtmb_nickname)
    user.put()