1
编辑:标题和添加了一些代码示例。哨兵 - 日志烧瓶中并哨兵在同一时间/相同DSN
我试图找出如何使用相同的DSN都芹菜工人和瓶日志发送给哨兵。
设置如下:
- 瓶的应用程序发送异步任务的芹菜工人。
- 瓶和芹菜工人均在链接Docker容器运行
- 我们正在使用Application Factory模式创建的
__init__.py
文件中的飞行应用实例,因此,这就是芹菜和哨兵设置的东西目前发生的情况:
(代码已简化用于演示目的。)
celery = Celery(__name__, broker=config[config_name].CELERY_BROKER_URL)
client = Client(dsn={my_dsn}, transport=HTTPTransport,)
sentry = Sentry(client=client)
def create_app(config_filename):
app = Flask(__name__)
app.config.from_pyfile(config_filename)
celery.conf.update(app.config)
# https://docs.getsentry.com/hosted/clients/python/integrations/flask/#extended-setup :
sentry.init_app(app, logging=True, level=logging.INFO,)
# https://docs.getsentry.com/hosted/clients/python/integrations/celery/ :
register_logger_signal(client, loglevel=logging.INFO)
register_signal(client)
return app
通过遵循Sentry Celery instructions,哨兵(在他们自己的话说) “劫持(S)芹菜错误处理”,以及作品好。但是,这会在流程中删除Flask错误处理。
是否有登记记录仪都(瓶和芹菜),使它们都发送日志条目多达哨兵方式?或者,芹菜注册是否在芹菜容器内运行的单独celery_worker.py
文件中进行?