MCPcopy Create free account
hub / github.com/Openpanel-dev/openpanel / triggerEvents

Function triggerEvents

apps/api/scripts/mock.ts:150–191  ·  view source on GitHub ↗
(generatedEvents: any[])

Source from the content-addressed store, hash-verified

148let lastTriggeredIndex = 0;
149
150async function triggerEvents(generatedEvents: any[]) {
151 const EVENTS_PER_SECOND = Number.parseInt(
152 process.env.EVENTS_PER_SECOND || '100',
153 10,
154 );
155 const INTERVAL_MS = 1000 / EVENTS_PER_SECOND;
156
157 if (lastTriggeredIndex >= generatedEvents.length) {
158 console.log('All events triggered.');
159 return;
160 }
161
162 const event = generatedEvents[lastTriggeredIndex]!;
163 try {
164 await trackit(event);
165 console.log(`Event ${lastTriggeredIndex + 1} sent successfully`);
166 console.log(
167 `sending ${event.track.payload?.properties?.__path} from user ${event.headers['user-agent']}`,
168 );
169 } catch (error) {
170 console.error(`Failed to send event ${lastTriggeredIndex + 1}:`, error);
171 }
172
173 lastTriggeredIndex++;
174 const remainingEvents = generatedEvents.length - lastTriggeredIndex;
175
176 console.log(
177 `Triggered ${lastTriggeredIndex} events. Remaining: ${remainingEvents}`,
178 );
179
180 if (remainingEvents > 0) {
181 return new Promise((resolve) => {
182 setTimeout(() => {
183 triggerEvents(generatedEvents);
184 resolve(null);
185 }, INTERVAL_MS);
186 });
187 }
188
189 console.log('All events triggered.');
190 console.log(`Total events to trigger: ${generatedEvents.length}`);
191}
192
193async function createMock(file: string) {
194 for (const project of domains) {

Callers 1

mainFunction · 0.85

Calls 3

trackitFunction · 0.85
logMethod · 0.45
errorMethod · 0.45

Tested by

no test coverage detected