def cleanup(self): """ Cleanup after a successful OR failed run of the task :return: """ job = self.background_job params = job.params ids = self.get_param(params, 'ids') username = job.user lock.batch_unlock("journal", ids, username)
def cleanup(self): """ Cleanup after a successful OR failed run of the task :return: """ job = self.background_job params = job.params ids = self.get_param(params, 'ids') username = job.user lock.batch_unlock('journal', ids, username)
def cleanup(self): """ Cleanup after a successful OR failed run of the task :return: """ # remove the lock on the journal job = self.background_job params = job.params journal_ids = self.get_param(params, "journal_ids") username = job.user lock.batch_unlock("journal", journal_ids, username)
def test_03_batch_lock_unlock(self): source = JournalFixtureFactory.make_journal_source() ids = [] # create a bunch of journals that we can play with j = models.Journal(**deepcopy(source)) j.save() ids.append(j.id) j = models.Journal(**deepcopy(source)) j.save() ids.append(j.id) j = models.Journal(**deepcopy(source)) j.save() ids.append(j.id) j = models.Journal(**deepcopy(source)) j.save() ids.append(j.id) j = models.Journal(**deepcopy(source)) j.save() ids.append(j.id) time.sleep(2) ls = lock.batch_lock("journal", ids, "testuser") assert len(ls) == 5 time.sleep(2) report = lock.batch_unlock("journal", ids, "testuser") assert len(report["success"]) == 5 assert len(report["fail"]) == 0 time.sleep(2) # now lock an individual record by a different user and check that no locks are set # in batch l = lock.lock("journal", ids[3], "otheruser") time.sleep(2) with self.assertRaises(lock.Locked): ls = lock.batch_lock("journal", ids, "testuser") for id in ids: assert lock.has_lock("journal", id, "testuser") is False