mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-19 17:38:19 +08:00
core: enhanced pm2 detection
This commit is contained in:
1 parent
0562661fb4
commit
2f2b1ca711
5 files changed
+24
-9
No files matched your search
@@ -1,6 +1,7 @@
|
||||
import { hostname } from 'os';
|
||||
import moment from 'moment-timezone';
|
||||
import { FilterQuery, ObjectID } from 'mongodb';
|
||||
import { nanoid } from 'nanoid';
|
||||
import { sleep } from '@hydrooj/utils/lib/utils';
|
||||
import { BaseService, EventDoc, Task } from '../interface';
|
||||
import { Logger } from '../logger';
|
||||
@@ -139,7 +140,7 @@ class TaskModel {
|
||||
static Worker = Worker;
|
||||
}
|
||||
|
||||
const id = hostname();
|
||||
const id = process.env.exec_mode === 'cluster_mode' ? hostname() : nanoid();
|
||||
Worker.addHandler('task.daily', async () => {
|
||||
await global.Hydro.model.record.coll.deleteMany({ contest: new ObjectID('000000000000000000000000') });
|
||||
await global.Hydro.script.rp?.run({}, new Logger('task/rp').debug);
|
||||
|
||||
@@ -3,6 +3,7 @@ import cac from 'cac';
|
||||
import type {
|
||||
Db, FilterQuery, ObjectID, OnlyFieldsOfType,
|
||||
} from 'mongodb';
|
||||
import pm2 from '@hydrooj/utils/lib/locate-pm2';
|
||||
import type { ProblemSolutionHandler } from '../handler/problem';
|
||||
import type { UserRegisterHandler } from '../handler/user';
|
||||
import type {
|
||||
@@ -191,8 +192,7 @@ export function broadcast<K extends keyof EventMap>(event: K, ...payload: Parame
|
||||
}
|
||||
|
||||
try {
|
||||
if (!process.send) throw new Error();
|
||||
const pm2: typeof import('pm2') = require('pm2');
|
||||
if (!process.send || !pm2 || process.env.exec_mode !== 'cluster_mode') throw new Error();
|
||||
pm2.launchBus((err, bus) => {
|
||||
if (err) throw new Error();
|
||||
bus.on('hydro:broadcast', (packet) => {
|
||||
|
||||
Reference in new issue
Block a user