The job_run_logs table tracks scheduled job orchestration, not individual worker jobs. Worker info (worker_id, worker_hostname) belongs on dispensary_crawl_jobs, not job_run_logs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
57 lines
2.0 KiB
JavaScript
57 lines
2.0 KiB
JavaScript
"use strict";
|
|
/**
|
|
* Seed crawl: trigger dutchie crawls for all dispensaries with menu_type='dutchie'
|
|
* and a resolved platform_dispensary_id. This uses the AZ orchestrator endpoint logic.
|
|
*
|
|
* Usage (local):
|
|
* node dist/scripts/crawl-all-dutchie.js
|
|
*
|
|
* Requires:
|
|
* - DATABASE_URL/CRAWLSY_DATABASE_URL pointing to the consolidated DB
|
|
* - Dispensaries table populated with menu_type and platform_dispensary_id
|
|
*/
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const connection_1 = require("../dutchie-az/db/connection");
|
|
const dispensary_orchestrator_1 = require("../services/dispensary-orchestrator");
|
|
async function main() {
|
|
const { rows } = await (0, connection_1.query)(`
|
|
SELECT id, name, slug, platform_dispensary_id
|
|
FROM dispensaries
|
|
WHERE menu_type = 'dutchie'
|
|
AND platform_dispensary_id IS NOT NULL
|
|
ORDER BY id
|
|
`);
|
|
if (!rows.length) {
|
|
console.log('No dutchie dispensaries with resolved platform_dispensary_id found.');
|
|
process.exit(0);
|
|
}
|
|
console.log(`Found ${rows.length} dutchie dispensaries with resolved IDs. Triggering crawls...`);
|
|
let success = 0;
|
|
let failed = 0;
|
|
for (const row of rows) {
|
|
try {
|
|
console.log(`Crawling ${row.id} (${row.name})...`);
|
|
const result = await (0, dispensary_orchestrator_1.runDispensaryOrchestrator)(row.id);
|
|
const ok = result.status === 'success' ||
|
|
result.status === 'sandbox_only' ||
|
|
result.status === 'detection_only';
|
|
if (ok) {
|
|
success++;
|
|
}
|
|
else {
|
|
failed++;
|
|
console.warn(`Crawl returned status ${result.status} for ${row.id} (${row.name})`);
|
|
}
|
|
}
|
|
catch (err) {
|
|
failed++;
|
|
console.error(`Failed crawl for ${row.id} (${row.name}): ${err.message}`);
|
|
}
|
|
}
|
|
console.log(`Completed. Success: ${success}, Failed: ${failed}`);
|
|
}
|
|
main().catch((err) => {
|
|
console.error('Fatal:', err);
|
|
process.exit(1);
|
|
});
|