fix: Check inventory_snapshots for product_discovery output verification
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
raw_crawl_payloads only saved during baseline window (12:01-3:00 AM), but inventory_snapshots are always saved. This caused product_discovery tasks to fail verification outside the baseline window.
This commit is contained in:
@@ -1001,9 +1001,31 @@ class TaskService {
|
|||||||
const claimedAt = task.claimed_at || task.created_at;
|
const claimedAt = task.claimed_at || task.created_at;
|
||||||
|
|
||||||
switch (task.role) {
|
switch (task.role) {
|
||||||
case 'product_refresh':
|
|
||||||
case 'product_discovery': {
|
case 'product_discovery': {
|
||||||
// Verify payload was saved to raw_crawl_payloads after task was claimed
|
// For product_discovery, verify inventory snapshots were saved (always happens)
|
||||||
|
// Note: raw_crawl_payloads only saved during baseline window, so check snapshots instead
|
||||||
|
const snapshotResult = await pool.query(
|
||||||
|
`SELECT COUNT(*)::int as count
|
||||||
|
FROM inventory_snapshots
|
||||||
|
WHERE dispensary_id = $1
|
||||||
|
AND captured_at > $2`,
|
||||||
|
[task.dispensary_id, claimedAt]
|
||||||
|
);
|
||||||
|
|
||||||
|
const snapshotCount = snapshotResult.rows[0]?.count || 0;
|
||||||
|
|
||||||
|
if (snapshotCount === 0) {
|
||||||
|
return {
|
||||||
|
verified: false,
|
||||||
|
reason: `No inventory snapshots found for dispensary ${task.dispensary_id} after ${claimedAt}`
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return { verified: true };
|
||||||
|
}
|
||||||
|
|
||||||
|
case 'product_refresh': {
|
||||||
|
// For product_refresh, verify payload was saved to raw_crawl_payloads
|
||||||
const payloadResult = await pool.query(
|
const payloadResult = await pool.query(
|
||||||
`SELECT id, product_count, fetched_at
|
`SELECT id, product_count, fetched_at
|
||||||
FROM raw_crawl_payloads
|
FROM raw_crawl_payloads
|
||||||
|
|||||||
Reference in New Issue
Block a user