Fix critical import bugs in linkedin.mjs and wellfound.mjs, clean up status/setup
- linkedin.mjs: LINKEDIN_LINKEDIN_MAX_SEARCH_PAGES → LINKEDIN_MAX_SEARCH_PAGES (typo would crash searcher at module load — constant doesn't exist) - wellfound.mjs: WELLFOUND_WELLFOUND_MAX_INFINITE_SCROLL → WELLFOUND_MAX_INFINITE_SCROLL (same — doubled prefix crashes at import) - status.mjs: remove double-counting ATS from both queue and log - setup.mjs: replace PM2 instructions with OpenClaw crons Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
import {
|
import {
|
||||||
LINKEDIN_BASE, NAVIGATION_TIMEOUT, FEED_NAVIGATION_TIMEOUT,
|
LINKEDIN_BASE, NAVIGATION_TIMEOUT, FEED_NAVIGATION_TIMEOUT,
|
||||||
PAGE_LOAD_WAIT, SCROLL_WAIT, CLICK_WAIT,
|
PAGE_LOAD_WAIT, SCROLL_WAIT, CLICK_WAIT,
|
||||||
EXTERNAL_ATS_PATTERNS, LINKEDIN_LINKEDIN_MAX_SEARCH_PAGES, LINKEDIN_SECONDS_PER_DAY
|
EXTERNAL_ATS_PATTERNS, LINKEDIN_MAX_SEARCH_PAGES, LINKEDIN_SECONDS_PER_DAY
|
||||||
} from './constants.mjs';
|
} from './constants.mjs';
|
||||||
|
|
||||||
export async function verifyLogin(page) {
|
export async function verifyLogin(page) {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
import {
|
import {
|
||||||
WELLFOUND_BASE, NAVIGATION_TIMEOUT, SEARCH_NAVIGATION_TIMEOUT,
|
WELLFOUND_BASE, NAVIGATION_TIMEOUT, SEARCH_NAVIGATION_TIMEOUT,
|
||||||
SEARCH_LOAD_WAIT, SEARCH_SCROLL_WAIT, LOGIN_WAIT,
|
SEARCH_LOAD_WAIT, SEARCH_SCROLL_WAIT, LOGIN_WAIT,
|
||||||
SEARCH_RESULTS_MAX, WELLFOUND_WELLFOUND_MAX_INFINITE_SCROLL
|
SEARCH_RESULTS_MAX, WELLFOUND_MAX_INFINITE_SCROLL
|
||||||
} from './constants.mjs';
|
} from './constants.mjs';
|
||||||
|
|
||||||
export async function verifyLogin(page) {
|
export async function verifyLogin(page) {
|
||||||
|
|||||||
@@ -95,13 +95,9 @@ async function main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
console.log('\n🎉 Setup complete. claw-apply is ready.');
|
console.log('\n🎉 Setup complete. claw-apply is ready.');
|
||||||
console.log('\nNext: start the scheduler with PM2:');
|
console.log('\nScheduling is managed by OpenClaw crons. Run manually:');
|
||||||
console.log(' npm install -g pm2');
|
|
||||||
console.log(' pm2 start ecosystem.config.cjs');
|
|
||||||
console.log(' pm2 stop claw-applier # keep off until ready to apply');
|
|
||||||
console.log(' pm2 save && pm2 startup # survive reboots');
|
|
||||||
console.log('\nRun manually:');
|
|
||||||
console.log(' node job_searcher.mjs — search now');
|
console.log(' node job_searcher.mjs — search now');
|
||||||
|
console.log(' node job_filter.mjs — filter/score jobs');
|
||||||
console.log(' node job_applier.mjs — apply now');
|
console.log(' node job_applier.mjs — apply now');
|
||||||
console.log(' node status.mjs — queue + run status');
|
console.log(' node status.mjs — queue + run status');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,13 +82,6 @@ function buildStatus() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// From log too
|
|
||||||
for (const entry of log) {
|
|
||||||
if (entry.status === 'skipped_external_unsupported' && entry.ats_platform) {
|
|
||||||
atsCounts[entry.ats_platform] = (atsCounts[entry.ats_platform] || 0) + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Last applied
|
// Last applied
|
||||||
const applied = [...queue, ...log].filter(j => j.status === 'applied')
|
const applied = [...queue, ...log].filter(j => j.status === 'applied')
|
||||||
.sort((a, b) => (b.applied_at || 0) - (a.applied_at || 0));
|
.sort((a, b) => (b.applied_at || 0) - (a.applied_at || 0));
|
||||||
|
|||||||
Reference in New Issue
Block a user