Skip to content

synchronize_company_id()

Class: JobsAustriaCacheSynchronizer
File: jobs_austria_cache_synchronizer.py ยท line 117

For rows that have a jobs_id (matched in step 1): - Unpacks data_payload JSON - Syncs company names to the companies table - Updates jobs: company_id, publication_date, original_salary, education

Signature

Parameters df_enriched
Returns not annotated
Async No
Visibility Public

Implementation

def synchronize_company_id(self, df_enriched: pd.DataFrame):
    """
    For rows that have a jobs_id (matched in step 1):
      - Unpacks data_payload JSON
      - Syncs company names to the companies table
      - Updates jobs: company_id, publication_date, original_salary, education
    """
    df = df_enriched[df_enriched['jobs_id'].notna()].copy()
    if df.empty:
        logs.info("synchronize_company_id: no matched rows to process.")
        return

    df = self._unpack_payload(df)
    df = self._sync_companies(df)
    df = self._sync_locations(df)
    self._update_jobs(df)
    logs.info(f"synchronize_company_id: updated {len(df)} jobs.")