mirror of
https://github.com/JimmXinu/FanFicFare.git
synced 2026-01-08 09:03:21 +01:00
Use task queue for orphan chunk clean up.
This commit is contained in:
parent
152ee61ed4
commit
ecabbd3af2
2 changed files with 12 additions and 5 deletions
|
|
@ -2,3 +2,7 @@ cron:
|
|||
- description: cleanup job
|
||||
url: /r3m0v3r
|
||||
schedule: every 2 hours
|
||||
|
||||
- description: orphan cleanup job
|
||||
url: /r3m0v3rOrphans
|
||||
schedule: every 48 hours
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import logging
|
|||
from google.appengine.ext.webapp import util
|
||||
from google.appengine.ext import webapp
|
||||
from google.appengine.api import users
|
||||
from google.appengine.api import taskqueue
|
||||
|
||||
from ffstorage import *
|
||||
|
||||
|
|
@ -43,11 +44,9 @@ class Remover(webapp.RequestHandler):
|
|||
fics.filter("date <",theDate).order("date")
|
||||
|
||||
results = fics.fetch(100)
|
||||
if not results:
|
||||
self.response.out.write('Finished<br>')
|
||||
break
|
||||
logging.debug([x.name for x in results])
|
||||
|
||||
num=0
|
||||
for d in results:
|
||||
d.delete()
|
||||
for c in d.data_chunks:
|
||||
|
|
@ -59,7 +58,13 @@ class Remover(webapp.RequestHandler):
|
|||
self.response.out.write('Deleted instances: %d<br>' % num)
|
||||
|
||||
class RemoveOrphanDataChunks(webapp.RequestHandler):
|
||||
|
||||
## enqueue the task because it will run longer than 30sec.
|
||||
def get(self):
|
||||
taskqueue.add(url='/r3m0v3rOrphans')
|
||||
self.response.out.write('Task Enqueued<br>')
|
||||
|
||||
def post(self):
|
||||
logging.debug("Starting RemoveOrphanDataChunks")
|
||||
user = users.get_current_user()
|
||||
logging.debug("Working as user %s" % user)
|
||||
|
|
@ -72,7 +77,6 @@ class RemoveOrphanDataChunks(webapp.RequestHandler):
|
|||
while( True ) :
|
||||
results = chunks.fetch(limit=step,offset=num-deleted)
|
||||
if not results:
|
||||
self.response.out.write('Finished<br>')
|
||||
break
|
||||
|
||||
for d in results:
|
||||
|
|
@ -86,7 +90,6 @@ class RemoveOrphanDataChunks(webapp.RequestHandler):
|
|||
num += 1
|
||||
|
||||
logging.info('Deleted %d orphan chunks from %d total.' % (deleted,num))
|
||||
self.response.out.write('Deleted %d orphan chunks from %d total.<br>' % (deleted,num))
|
||||
|
||||
def main():
|
||||
application = webapp.WSGIApplication([('/r3m0v3r', Remover),
|
||||
|
|
|
|||
Loading…
Reference in a new issue