# 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)})
# 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()