def send_pending_notifications():
    while True:
        with lock(redis, 'notificationcheck', timeout=5):
            data = queue.get()

        if data is None:
            logging.info('No due notifications found')
            return

        task = Task.query.get(data['task'])
        if task is None:
            logging.error('Task not found for notification (id=%s)',
                          data['task'])
            continue

        notifier = notifiers.get(data['type'])
        try:
            notifier.send(
                task=task,
                config=data['config'],
                event=data['event'],
            )
        except Exception:
            logging.exception('%s notifier failed to send Task(id=%s)',
                             data['type'], task.id)
Exemple #2
0
def send_pending_notifications():
    while True:
        with lock(redis, 'notificationcheck', timeout=5):
            data = queue.get()

        if data is None:
            logging.info('No due notifications found')
            return

        task = Task.query.get(data['task'])
        if task is None:
            logging.error('Task not found for notification (id=%s)',
                          data['task'])
            continue

        notifier = notifiers.get(data['type'])
        try:
            notifier.send(
                task=task,
                config=data['config'],
                event=data['event'],
            )
        except Exception:
            logging.exception('%s notifier failed to send Task(id=%s)',
                              data['type'], task.id)
Exemple #3
0
 def setUp(self):
     self.notifier = notifiers.get('sentry')
     self.user = self.create_user()
     self.repo = self.create_repo()
     self.app = self.create_app(repository=self.repo)
     self.task = self.create_task(
         app=self.app,
         user=self.user,
         status=TaskStatus.finished,
     )
Exemple #4
0
 def setUp(self):
     self.notifier = notifiers.get("sentry")
     self.user = self.create_user()
     self.repo = self.create_repo()
     self.app = self.create_app(repository=self.repo)
     self.deploy_config = self.create_taskconfig(app=self.app)
     self.task = self.create_task(app=self.app,
                                  user=self.user,
                                  status=TaskStatus.finished)
     self.deploy = self.create_deploy(app=self.app, task=self.task)
Exemple #5
0
 def setUp(self):
     self.notifier = notifiers.get('slack')
     self.user = self.create_user()
     self.repo = self.create_repo()
     self.app = self.create_app(repository=self.repo)
     self.task = self.create_task(
         app=self.app,
         user=self.user,
         status=TaskStatus.finished,
     )
Exemple #6
0
def send_task_notifications(task, event):
    for data in task.notifiers:
        notifier = notifiers.get(data['type'])
        config = data.get('config', {})
        if not notifier.should_send(task, config, event):
            continue

        try:
            notifier.send(task, config, event)
        except Exception as exc:
            logging.exception('%s notifier failed to send Task(id=%s)', data['type'], task.id)
 def setUp(self):
     self.notifier = notifiers.get("github")
     self.user = self.create_user()
     self.repo = self.create_repo()
     self.app = self.create_app(repository=self.repo)
     self.deploy_config = self.create_taskconfig(app=self.app)
     self.task = self.create_task(app=self.app,
                                  user=self.user,
                                  status=TaskStatus.finished,
                                  sha="123")
     self.deploy = self.create_deploy(app=self.app, task=self.task)
     self.target_url = "http://example.com/repos/getsentry/freight/statuses/123"
Exemple #8
0
 def setUp(self):
     self.notifier = notifiers.get('slack')
     self.user = self.create_user()
     self.repo = self.create_repo()
     self.app = self.create_app(repository=self.repo)
     self.deploy_config = self.create_taskconfig(app=self.app)
     self.task = self.create_task(
         app=self.app,
         user=self.user,
         status=TaskStatus.finished,
     )
     self.deploy = self.create_deploy(
         app=self.app,
         task=self.task,
     )
def send_pending_notifications():
    while True:
        with lock(redis, "notificationcheck", timeout=5):
            data = notifiers.queue.get()

        if data is None:
            logging.info("No due notifications found")
            return

        task = Task.query.get(int(data["task"]))
        if task is None:
            logging.error("Task not found for notification (id=%s)", data["task"])
            continue

        notifier = notifiers.get(data["type"])
        try:
            notifier.send(task=task, config=data["config"], event=data["event"])
        except Exception:
            logging.exception(
                "%s notifier failed to send Task(id=%s)", data["type"], task.id
            )