2024-04-30 10:21:41 -07:00
|
|
|
import { ExtractorOptions } from './../../lib/entities';
|
2024-04-20 13:53:11 -07:00
|
|
|
import { supabase_service } from "../supabase";
|
|
|
|
|
import { FirecrawlJob } from "../../types";
|
2024-05-02 15:30:22 -04:00
|
|
|
import { posthog } from "../posthog";
|
2024-04-20 13:53:11 -07:00
|
|
|
import "dotenv/config";
|
|
|
|
|
|
|
|
|
|
export async function logJob(job: FirecrawlJob) {
|
|
|
|
|
try {
|
|
|
|
|
// Only log jobs in production
|
|
|
|
|
if (process.env.ENV !== "production") {
|
2024-05-02 15:30:22 -04:00
|
|
|
//return;
|
2024-04-20 13:53:11 -07:00
|
|
|
}
|
2024-04-30 10:21:41 -07:00
|
|
|
|
2024-04-20 13:53:11 -07:00
|
|
|
const { data, error } = await supabase_service
|
|
|
|
|
.from("firecrawl_jobs")
|
|
|
|
|
.insert([
|
|
|
|
|
{
|
|
|
|
|
success: job.success,
|
|
|
|
|
message: job.message,
|
|
|
|
|
num_docs: job.num_docs,
|
|
|
|
|
docs: job.docs,
|
|
|
|
|
time_taken: job.time_taken,
|
2024-04-20 19:37:45 -07:00
|
|
|
team_id: job.team_id === "preview" ? null : job.team_id,
|
2024-04-20 13:53:11 -07:00
|
|
|
mode: job.mode,
|
|
|
|
|
url: job.url,
|
|
|
|
|
crawler_options: job.crawlerOptions,
|
|
|
|
|
page_options: job.pageOptions,
|
2024-04-20 19:37:45 -07:00
|
|
|
origin: job.origin,
|
2024-04-30 09:20:15 -07:00
|
|
|
extractor_options: job.extractor_options,
|
|
|
|
|
num_tokens: job.num_tokens
|
2024-04-20 13:53:11 -07:00
|
|
|
},
|
|
|
|
|
]);
|
2024-05-02 15:30:22 -04:00
|
|
|
|
|
|
|
|
if (process.env.POSTHOG_API_KEY) {
|
|
|
|
|
posthog.capture({
|
|
|
|
|
distinctId: job.team_id === "preview" ? null : job.team_id,
|
|
|
|
|
event: "job-logged",
|
|
|
|
|
properties: {
|
|
|
|
|
success: job.success,
|
|
|
|
|
message: job.message,
|
|
|
|
|
num_docs: job.num_docs,
|
|
|
|
|
time_taken: job.time_taken,
|
|
|
|
|
team_id: job.team_id === "preview" ? null : job.team_id,
|
|
|
|
|
mode: job.mode,
|
|
|
|
|
url: job.url,
|
|
|
|
|
crawler_options: job.crawlerOptions,
|
|
|
|
|
page_options: job.pageOptions,
|
|
|
|
|
origin: job.origin,
|
|
|
|
|
extractor_options: job.extractor_options,
|
|
|
|
|
num_tokens: job.num_tokens
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
}
|
2024-04-20 13:53:11 -07:00
|
|
|
if (error) {
|
|
|
|
|
console.error("Error logging job:\n", error);
|
|
|
|
|
}
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error("Error logging job:\n", error);
|
|
|
|
|
}
|
|
|
|
|
}
|