1739114490
* refactor: separate task creation from processing to eliminate compilation overhead - Create TaskProcessor class to handle task processing logic - Move processQueue and cleanup methods to TaskProcessor - Remove task handler imports from InternalTasker creation path - Eliminate 2.5-3s compilation overhead by only loading task handlers during processing - Maintain existing tasker.create() API for all callers - Use composition pattern for clean separation of concerns Co-Authored-By: keith@cal.com <keithwillcode@gmail.com> refactor: completely separate TaskProcessor from InternalTasker - Remove processQueue() and cleanup() methods from Tasker interface - Eliminate TaskProcessor dependency from InternalTasker class - Update API endpoints (cron.ts, cleanup.ts) to use TaskProcessor directly - Update README documentation to show correct TaskProcessor usage - Complete separation ensures task creation no longer imports task handlers - Eliminates 2.5-3s compilation overhead while preserving all functionality Co-Authored-By: keith@cal.com <keithwillcode@gmail.com> * Moved the cleanup method back to internal tasker --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
23 lines
670 B
TypeScript
23 lines
670 B
TypeScript
import type { NextRequest } from "next/server";
|
|
import { NextResponse } from "next/server";
|
|
|
|
import { TaskProcessor } from "../task-processor";
|
|
|
|
async function handler(request: NextRequest) {
|
|
const authHeader = request.headers.get("authorization");
|
|
if (authHeader !== `Bearer ${process.env.CRON_SECRET}`) {
|
|
return new Response("Unauthorized", { status: 401 });
|
|
}
|
|
const processor = new TaskProcessor();
|
|
await processor.processQueue();
|
|
return NextResponse.json({ success: true });
|
|
}
|
|
|
|
export async function GET(request: NextRequest) {
|
|
return await handler(request);
|
|
}
|
|
|
|
export async function POST(request: NextRequest) {
|
|
return await handler(request);
|
|
}
|