1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-07-28 12:04:35 +02:00
Files
misskey/packages/backend/src/boot/worker.ts
Acid Chicken b950f905e5 perf: rsa sign on slacc (#17322)
* perf: rsa sign on slacc

* fix: missing async/await

* fix: threadPoolSize is always number

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* test(backend): init slacc in unit setup and await ap-request signing

* test(backend): move slacc init to unit testEnvironment

* test(backend): delete unused file

* docs: update CHANGELOG

* docs: fix indent

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* chore: migrate to vitest

* fix

* fix: fix changelog

* chore: regenerate lockfile

* docs: changelog

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2026-05-12 17:36:49 +09:00

53 lines
1.2 KiB
TypeScript

/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
import cluster from 'node:cluster';
import { envOption } from '@/env.js';
import { loadConfig } from '@/config.js';
import { initExtraThreadPool, jobQueue, server } from './common.js';
/**
* Init worker process
*/
export async function workerMain() {
const config = loadConfig();
initExtraThreadPool(config);
if (config.sentryForBackend) {
const Sentry = await import('@sentry/node');
const { nodeProfilingIntegration } = await import('@sentry/profiling-node');
Sentry.init({
integrations: [
...(config.sentryForBackend.enableNodeProfiling ? [nodeProfilingIntegration()] : []),
],
// Performance Monitoring
tracesSampleRate: 1.0, // Capture 100% of the transactions
// Set sampling rate for profiling - this is relative to tracesSampleRate
profilesSampleRate: 1.0,
maxBreadcrumbs: 0,
...config.sentryForBackend.options,
});
}
if (envOption.onlyServer) {
await server();
} else if (envOption.onlyQueue) {
await jobQueue();
} else {
await jobQueue();
}
if (cluster.isWorker) {
// Send a 'ready' message to parent process
process.send!('ready');
}
}