Esempio n. 1
0
    def post(self):
        model_kind = self.request.get('model_kind')
        frequency = self.request.get('frequency')
        date = str_to_date(self.request.get('date_string'))
        store_key_name = self.request.get('store_key_name')

        logging.info('Cleanupworker model kind: %s frequency: \
    %s store: %s' % (model_kind, frequency, store_key_name))

        recursion_flag = False

        if model_kind == 'ProductRenderer':
            store_key = Key.from_path('Store', store_key_name)
            query = get_renderer_query_for_frequency(frequency, date,
                                                     store_key)
            keys = query.fetch(200, TEMPLATE_PRODUCT_COUNT)
        elif model_kind == 'ProductCounter':
            store_key = Key.from_path('Store', store_key_name)
            query = get_counter_query_for_frequency(frequency, date, store_key)
            keys = query.fetch(200)
        elif model_kind == 'UserCounter':
            query = USER_COUNTER_CLEANUP_TARGETS
            keys = query.fetch(200)
        else:
            logging.error('No type found for CleanupWorker :%s' % model_kind)

        if len(keys):
            recursion_flag = True
            pdb.delete(keys)

        if recursion_flag:
            logging.info('Enqueing cleanup for model %s' % model_kind)
            enqueue_cleanup(model_kind, frequency, str(date), store_key_name)
Esempio n. 2
0
 def post(self):
   model_kind = self.request.get('model_kind')
   frequency = self.request.get('frequency')
   date = str_to_date(self.request.get('date_string'))
   store_key_name = self.request.get('store_key_name')
   
   logging.info('Cleanupworker model kind: %s frequency: \
   %s store: %s' %(model_kind,frequency,store_key_name))
   
   recursion_flag = False
   
   if model_kind == 'ProductRenderer':
     store_key = Key.from_path('Store',store_key_name)
     query = get_renderer_query_for_frequency(frequency, date, store_key)
     keys = query.fetch(200, TEMPLATE_PRODUCT_COUNT)
   elif model_kind == 'ProductCounter':
     store_key = Key.from_path('Store',store_key_name)
     query = get_counter_query_for_frequency(frequency, date, store_key)
     keys = query.fetch(200)
   elif model_kind == 'UserCounter':
     query = USER_COUNTER_CLEANUP_TARGETS
     keys = query.fetch(200)
   else:
     logging.error('No type found for CleanupWorker :%s' %model_kind)
   
   if len(keys):
     recursion_flag = True
     pdb.delete(keys)
   
   if recursion_flag:
     logging.info('Enqueing cleanup for model %s' %model_kind)
     enqueue_cleanup(model_kind,frequency,str(date),store_key_name)
Esempio n. 3
0
 def get(self,model_name):
   if model_name == 'memcache':
       if memcache.flush_all():
           self.response.out.write('MEMCACHE FLUSHED')
           
   elif model_name == 'template':
       pythonloader.mydata = {}
       self.response.out.write('LOCAL TEMPLATE CACHE FLUSHED')
       
   else:
       query = db.GqlQuery(QUERY_STRING+model_name)  
       keys = []
       for key in query:
           keys.append(key)
       pdb.delete(keys)
       self.response.out.write("Deleted all models of kind: %s" % model_name)
Esempio n. 4
0
 def test_delete_local(self):
   pdb.delete(self.setup_key,_storage='local')
   entity = cachepy.get(self.cache_key)
   self.assertEqual(entity , None)
Esempio n. 5
0
 def test_delete_memcache(self):  
   pdb.delete(self.setup_key,_storage='memcache')
   entity = _deserialize(memcache.get(self.cache_key))
   self.assertEqual(entity , None)
Esempio n. 6
0
 def test_delete_db(self):
   pdb.delete(self.setup_key,_storage='datastore')
   entity = db.get(self.setup_key)
   self.assertEqual(entity , None)
Esempio n. 7
0
 def test_delete_local(self):
     pdb.delete(self.setup_key, _storage='local')
     entity = cachepy.get(self.cache_key)
     self.assertEqual(entity, None)
Esempio n. 8
0
 def test_delete_memcache(self):
     pdb.delete(self.setup_key, _storage='memcache')
     entity = _deserialize(memcache.get(self.cache_key))
     self.assertEqual(entity, None)
Esempio n. 9
0
 def test_delete_db(self):
     pdb.delete(self.setup_key, _storage='datastore')
     entity = db.get(self.setup_key)
     self.assertEqual(entity, None)