mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-25 04:34:06 -08:00
refactor(core): Instrument multi-main to report failures to renew lease (#7970)
## Summary Instrument multi-main to report failures to renew the lease https://linear.app/n8n/issue/PAY-1105 ... #### How to test the change: 1. ... ## Issues fixed Include links to Github issue or Community forum post or **Linear ticket**: > Important in order to close automatically and provide context to reviewers ... ## Review / Merge checklist - [ ] PR title and summary are descriptive. **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** ([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md)) - [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up ticket created. - [ ] Tests included. > A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. > > *(internal)* You can use Slack commands to trigger [e2e tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227) or [deploy test instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce) or [deploy early access version on Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
This commit is contained in:
parent
148bc1d303
commit
76ab411bc0
|
@ -3,6 +3,7 @@ import { Service } from 'typedi';
|
|||
import { TIME } from '@/constants';
|
||||
import { SingleMainSetup } from '@/services/orchestration/main/SingleMainSetup';
|
||||
import { getRedisPrefix } from '@/services/redis/RedisServiceHelper';
|
||||
import { ErrorReporterProxy as EventReporter } from 'n8n-workflow';
|
||||
|
||||
@Service()
|
||||
export class MultiMainSetup extends SingleMainSetup {
|
||||
|
@ -79,6 +80,10 @@ export class MultiMainSetup extends SingleMainSetup {
|
|||
if (config.getEnv('multiMainSetup.instanceType') === 'leader') {
|
||||
this.emit('leadershipChange', leaderId); // stop triggers, pruning, etc.
|
||||
|
||||
EventReporter.report('[Multi-main setup] Leader failed to renew leader key', {
|
||||
level: 'info',
|
||||
});
|
||||
|
||||
config.set('multiMainSetup.instanceType', 'follower');
|
||||
}
|
||||
|
||||
|
|
|
@ -33,5 +33,7 @@ export const error = (e: unknown, options?: ReportingOptions) => {
|
|||
if (toReport) instance.report(toReport, options);
|
||||
};
|
||||
|
||||
export const report = error;
|
||||
|
||||
export const warn = (warning: Error | string, options?: ReportingOptions) =>
|
||||
error(warning, { level: 'warning', ...options });
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import callsites from 'callsites';
|
||||
import type { Event } from '@sentry/node';
|
||||
|
||||
type Level = 'warning' | 'error' | 'fatal';
|
||||
type Level = 'warning' | 'error' | 'fatal' | 'info';
|
||||
|
||||
export type ReportingOptions = {
|
||||
level?: Level;
|
||||
|
|
Loading…
Reference in a new issue