MCPcopy
hub / github.com/chartbrew/chartbrew / addChartsToQueue

Function addChartsToQueue

server/crons/updateCharts.js:30–110  ·  view source on GitHub ↗
(charts, queue)

Source from the content-addressed store, hash-verified

28}
29
30async function addChartsToQueue(charts, queue) {
31 const addJobPromises = charts.map(async (chart) => {
32 const chartToUpdate = chart.dataValues ? chart.dataValues : chart;
33 const traceContext = await startRun({
34 triggerType: "chart_auto",
35 entityType: "chart",
36 status: "queued",
37 teamId: chart.Project?.team_id || null,
38 projectId: chartToUpdate.project_id,
39 chartId: chartToUpdate.id,
40 queueName: queue.name,
41 summary: {
42 autoUpdateSeconds: chartToUpdate.autoUpdate || null,
43 },
44 });
45 const queueEvent = await startEvent(traceContext, "queue_enqueued", {
46 chartId: chartToUpdate.id,
47 projectId: chartToUpdate.project_id,
48 queueName: queue.name,
49 });
50 const candidateJobId = buildJobId("chart", chartToUpdate.id);
51
52 try {
53 const job = await queue.add("updateChart", {
54 chart: chartToUpdate,
55 traceContext,
56 }, {
57 jobId: candidateJobId,
58 deduplication: {
59 id: `chart_${chartToUpdate.id}`,
60 },
61 });
62
63 const returnedJobId = `${job.id}`;
64 const deduplicated = returnedJobId !== candidateJobId;
65 traceContext.jobId = returnedJobId;
66 traceContext.queueName = queue.name;
67
68 await finishEvent(traceContext, queueEvent, deduplicated ? "deduplicated" : "success", {
69 chartId: chartToUpdate.id,
70 candidateJobId,
71 returnedJobId,
72 deduplicated,
73 });
74 await updateRunContext(traceContext, {
75 jobId: returnedJobId,
76 queueName: queue.name,
77 status: deduplicated ? "deduplicated" : "queued",
78 });
79
80 if (deduplicated) {
81 await completeRun(traceContext, {
82 status: "deduplicated",
83 summary: {
84 chartId: chartToUpdate.id,
85 deduplicated: true,
86 candidateJobId,
87 returnedJobId,

Callers 1

updateChartsFunction · 0.85

Calls 7

startRunFunction · 0.85
startEventFunction · 0.85
finishEventFunction · 0.85
updateRunContextFunction · 0.85
completeRunFunction · 0.85
failRunFunction · 0.85
buildJobIdFunction · 0.70

Tested by

no test coverage detected