@grouparoo/core
Version:
The Grouparoo Core
25 lines (22 loc) • 866 B
text/typescript
import { ParamsFrom } from "actionhero";
import { RetryableTask } from "../../../classes/tasks/retryableTask";
import { APIData } from "../../../modules/apiData";
import { getGrouparooRunMode } from "../../../modules/runMode";
import { Telemetry } from "../../../modules/telemetry";
export class TelemetryTask extends RetryableTask {
name = "telemetry";
description = "send telemetry information about this cluster (recurring)";
frequency = getGrouparooRunMode() === "cli:run" ? 0 : 1000 * 60 * 60 * 24; // every 24 hours
queue = "system";
inputs = {
trigger: {
required: true,
default: "timer",
formatter: (p: unknown) =>
APIData.ensureString<Telemetry.TelemetryCallTrigger>(p),
},
} as const;
async runWithinTransaction({ trigger }: ParamsFrom<TelemetryTask>) {
return Telemetry.send(trigger, [], true);
}
}