def run(self): playlists = discover_playlists(self.config) logging.info("Found the following playlists: %s" % playlists) combine_playlists(playlists, self.destination) for playlist, is_variant in self.get_stream_groups(playlists): worker = PlaylistWorker(playlist, is_variant) if not worker.other_is_running(): logging.debug('No worker found for playlist %s, %s' % (playlist, worker.lock.path)) self.start_worker_in_background(playlist, is_variant) else: logging.debug('Worker found for playlist %s, %s' % (playlist, worker.lock.path)) clean(self.destination, self.clean_maxage, self.ignores)
def test_second_worker_should_see_that_other_is_running(monkeypatch): stream_name = "%0x" % random.randint(0, 2**64) run_calls = [] def fake_run(*args): run_calls.append(args) def fake_stop(*args): pass first = PlaylistWorker(stream_name) monkeypatch.setattr(first, 'run', fake_run) monkeypatch.setattr(first, 'stop', fake_stop) first.run_if_locking() assert 1 == len(run_calls) second = PlaylistWorker(stream_name) assert True == second.other_is_running()
def test_second_worker_should_see_that_other_is_running(monkeypatch): stream_name = "%0x" % random.randint(0, 2**64) run_calls = [] def fake_run(*args): run_calls.append(args) def fake_stop(*args): pass first = PlaylistWorker(stream_name) monkeypatch.setattr(first, 'run', fake_run) monkeypatch.setattr(first, 'stop', fake_stop) first.run_if_locking() assert 1 == len(run_calls) second = PlaylistWorker(stream_name) assert True == second.other_is_running()