From 3aad6705d03216e1502a98a7b5df1c76bf8d5abf Mon Sep 17 00:00:00 2001 From: JobsBoard Deployer Date: Sat, 5 Sep 2026 11:39:47 -0400 Subject: [PATCH] fix(docker): install openssl in alpine and refine scraper readiness loop --- scraper/db.py | 14 ++++++++------ scraper/scrapers/jobspy_runner.py | 4 ++-- web/Dockerfile | 4 ++++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/scraper/db.py b/scraper/db.py index 152710a..9b97517 100644 --- a/scraper/db.py +++ b/scraper/db.py @@ -119,21 +119,23 @@ def _upsert_postgres(jobs_list: list, db_url: str): # Wait for postgres and Prisma migrations to be ready conn = None - for attempt in range(15): + for attempt in range(40): try: conn = psycopg2.connect(db_url) cursor = conn.cursor() cursor.execute("SELECT to_regclass('\"Job\"');") - table_exists = cursor.fetchone()[0] + result = cursor.fetchone() + table_exists = result[0] if result else None if table_exists: break cursor.close() conn.close() - print(f"[Scraper] Waiting for database tables to initialize (attempt {attempt + 1}/15)...") - time.sleep(3) + conn = None + print(f"[Scraper] Waiting for database tables to initialize (attempt {attempt + 1}/40)...") + time.sleep(5) except Exception as conn_err: - print(f"[Scraper] Waiting for PostgreSQL readiness ({conn_err}) (attempt {attempt + 1}/15)...") - time.sleep(3) + print(f"[Scraper] Waiting for PostgreSQL readiness ({conn_err}) (attempt {attempt + 1}/40)...") + time.sleep(5) if not conn or conn.closed: try: diff --git a/scraper/scrapers/jobspy_runner.py b/scraper/scrapers/jobspy_runner.py index a9b565b..6159013 100644 --- a/scraper/scrapers/jobspy_runner.py +++ b/scraper/scrapers/jobspy_runner.py @@ -32,7 +32,7 @@ def run_jobspy_scrapes() -> List[Dict[Any, Any]]: try: print(f"[JobSpy] Searching CT Local: '{query}'") jobs_df = scrape_jobs( - site_name=["indeed", "zip_recruiter"], + site_name=["indeed"], search_term=query, location="Connecticut", results_wanted=15, @@ -68,7 +68,7 @@ def run_jobspy_scrapes() -> List[Dict[Any, Any]]: try: print(f"[JobSpy] Searching Remote: '{query}'") jobs_df = scrape_jobs( - site_name=["indeed", "zip_recruiter"], + site_name=["indeed"], search_term=query, results_wanted=15, hours_old=72, diff --git a/web/Dockerfile b/web/Dockerfile index e5e37c9..9095065 100644 --- a/web/Dockerfile +++ b/web/Dockerfile @@ -1,6 +1,8 @@ FROM node:20-alpine AS builder WORKDIR /app +RUN apk add --no-cache openssl libc6-compat + COPY package*.json ./ RUN npm ci @@ -12,6 +14,8 @@ RUN npm run build FROM node:20-alpine AS runner WORKDIR /app +RUN apk add --no-cache openssl libc6-compat + ENV NODE_ENV=production COPY package*.json ./