class ListenAndAlertService: def __init__(self, clients_repository, results_repository, canary_factory): self.canary_factory = canary_factory self.clients_repository = clients_repository self.listener_miners_factory = ListenerMinersFactory( \ clients_repository, \ results_repository) def listen_and_alert(self, client_id): cage = map(lambda url: self.canary_factory.new(url['url']), \ self.clients_repository.get_client_urls(client_id)) listener_miner_team = ListenerMinerTeam() for miner in [NotOkListenerMiner, RecoveryListenerMiner]: listener_miner_team.add_member(self.listener_miners_factory.new( \ miner, \ client_id)) return listener_miner_team.listen(cage, lambda _: None)
def __init__(self, clients_repository, results_repository, canary_factory): self.canary_factory = canary_factory self.clients_repository = clients_repository self.listener_miners_factory = ListenerMinersFactory( \ clients_repository, \ results_repository)