Skip to content

Commit

Permalink
engine: flip to a quick multiproc pool
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeremy Lavergne authored and nerdling committed Mar 13, 2020
1 parent 504c9fb commit fb0a690
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions src/migrant/engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@
#
###############################################################################
import logging
import multiprocessing

log = logging.getLogger(__name__)
logger = multiprocessing.log_to_stderr()
logger.setLevel(logging.WARNING)


from migrant import exceptions

Expand All @@ -31,15 +35,17 @@ def status(self, target_id=None):

return total_actions

def _update(self, db, target_id=None):
log.info("Starting migration for %s" % db)
actions = self.calc_actions(db, target_id)
self.execute_actions(db, actions)
log.info("Migration completed for %s" % db)

def update(self, target_id=None):
target_id = self.pick_rev_id(target_id)
conns = self.backend.generate_connections()

for db in self.initialized_dbs(conns):
log.info("Starting migration for %s" % db)
actions = self.calc_actions(db, target_id)
self.execute_actions(db, actions)
log.info("Migration completed for %s" % db)
with Pool() as pool:
pool.imap_unordered(self._update, ((db, target_id) for db in self.initialized_dbs(conns)))

def test(self, target_id=None):
target_id = self.pick_rev_id(target_id)
Expand Down

0 comments on commit fb0a690

Please sign in to comment.