Skip to content

Instantly share code, notes, and snippets.

@scraperdragon
Created December 2, 2013 16:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scraperdragon/7752510 to your computer and use it in GitHub Desktop.
Save scraperdragon/7752510 to your computer and use it in GitHub Desktop.
Paul's BatchSaver
class BatchSaver(object):
def __init__(self, max_queue=2000, save_callback=None):
self.queue = []
self.max_queue = max_queue
self.callback = save_callback
import atexit
atexit.register(self.save_now)
def push(self, row):
self.queue.append(row)
if len(self.queue) > self.max_queue:
self.save_now()
def save_now(self):
print("Saving")
self.callback(self.queue)
self.queue = []
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment