Пример #1
0
 def from_config(cls):
     """
     Create a Notifier instance with global configuration, typically environment variables.
     """
     kwargs = dict(deployment_stage=Config.deployment_stage(),
                   delays=Config.notification_delays(),
                   num_workers=Config.notification_workers(),
                   timeout=Config.notification_timeout())
     return cls(**{k: v for k, v in kwargs.items() if v is not None})
Пример #2
0
import os
import sys

import domovoi

pkg_root = os.path.abspath(os.path.join(os.path.dirname(__file__), 'domovoilib'))  # noqa
sys.path.insert(0, pkg_root)  # noqa

from dss import Config
from dss.logging import configure_lambda_logging
from dss.notify.notifier import Notifier
from dss.util.time import RemainingLambdaContextTime
from dss.util import tracing
from dss.util.types import LambdaContext

configure_lambda_logging()


def deploy_notifier():
    notifier = Notifier.from_config()
    notifier.deploy()


app = domovoi.Domovoi(configure_logs=False)


@app.scheduled_function("rate(1 minute)", rule_name='run_notifier_' + Config.deployment_stage())
def run_notifier(event, context: LambdaContext):
    notifier = Notifier.from_config()
    notifier.run(RemainingLambdaContextTime(context))
Пример #3
0
pkg_root = os.path.abspath(
    os.path.join(os.path.dirname(__file__), 'domovoilib'))  # noqa
sys.path.insert(0, pkg_root)  # noqa

from dss import Config
from dss.logging import configure_lambda_logging
from dss.notify.notifier import Notifier
from dss.util.time import RemainingLambdaContextTime, AdjustedRemainingTime
from dss.util.types import LambdaContext

configure_lambda_logging()


def deploy_notifier():
    notifier = Notifier.from_config()
    notifier.deploy()


app = domovoi.Domovoi(configure_logs=False)


@app.scheduled_function("rate(1 minute)",
                        rule_name='run_notifier_' + Config.deployment_stage())
def run_notifier(event, context: LambdaContext):
    notifier = Notifier.from_config()
    shutdown_seconds = 5.0
    remaining_time = RemainingLambdaContextTime(context)
    adjusted_remaining_time = AdjustedRemainingTime(-shutdown_seconds,
                                                    remaining_time)
    notifier.run(adjusted_remaining_time)