feat: add support for indicating workplaceTypes (#296)
This commit is contained in:
@@ -33,6 +33,7 @@ It also supports term-by-term search and country-aware search state using the sa
|
||||
- selected country maps into Hiring Cafe location search state.
|
||||
- run budget path (`jobspyResultsWanted`) is reused as the max jobs-per-term cap.
|
||||
- optional **Search cities** narrow results by city.
|
||||
- workplace type is forwarded from the automatic run modal as a global run filter.
|
||||
4. Start the run and watch progress in the pipeline progress card.
|
||||
|
||||
Defaults and constraints:
|
||||
@@ -42,6 +43,7 @@ Defaults and constraints:
|
||||
- Hiring Cafe is enabled by default in source selection.
|
||||
- `HIRING_CAFE_DATE_FETCHED_PAST_N_DAYS` controls recency window when running extractor directly (default `7`).
|
||||
- When a city is provided via `searchCities`, Hiring Cafe uses city radius search (default `1` mile) and strict city post-filtering.
|
||||
- Workplace type is global to the run and is not configured separately per city in this integration.
|
||||
- City geocoding is resolved through Nominatim (OpenStreetMap data); if you scale extractor traffic, add attribution and cache repeated city lookups.
|
||||
|
||||
Local run example:
|
||||
|
||||
@@ -27,6 +27,7 @@ Key environment variables:
|
||||
- `JOBSPY_HOURS_OLD` (default: `72`)
|
||||
- `JOBSPY_COUNTRY_INDEED` (default: `UK`)
|
||||
- `JOBSPY_LINKEDIN_FETCH_DESCRIPTION` (default: `true`)
|
||||
- `JOBSPY_IS_REMOTE` (unset by default)
|
||||
|
||||
## 2) Orchestrator flow
|
||||
|
||||
@@ -50,3 +51,14 @@ The service in `orchestrator/src/server/services/jobspy.ts`:
|
||||
- `JOBSPY_SEARCH_TERMS` can be JSON array or `|`, comma, newline-delimited text.
|
||||
- Set `JOBSPY_LINKEDIN_FETCH_DESCRIPTION=0` to speed runs.
|
||||
- Temp output files are stored under `data/imports/`.
|
||||
- If workplace type is only `Remote`, JobSpy runs with `JOBSPY_IS_REMOTE=true`.
|
||||
- If workplace type includes `Hybrid` or `Onsite`, JobSpy cannot enforce those filters precisely, so the JobSpy-backed sources run without a workplace-type filter and may return broader results.
|
||||
|
||||
## Common Problems
|
||||
|
||||
- `Hybrid` or `Onsite` was selected, but Indeed, LinkedIn, or Glassdoor still returned remote jobs.
|
||||
JobSpy only supports a strict remote toggle. Any workplace-type selection that includes `Hybrid` or `Onsite` broadens those source results.
|
||||
- A run returned fewer LinkedIn descriptions than expected.
|
||||
`JOBSPY_LINKEDIN_FETCH_DESCRIPTION=0` disables description fetching to speed up runs.
|
||||
- Different cities need different workplace-type filters.
|
||||
This is not supported in the current automatic-run flow. JobSpy receives one global workplace-type selection per run/query invocation.
|
||||
@@ -29,6 +29,7 @@ Using the published package also keeps the integration small and makes it easier
|
||||
3. Set your usual automatic run controls:
|
||||
- `searchTerms` are sent as `query`.
|
||||
- country or city filters are reused as the package `location` option.
|
||||
- workplace type is passed through as the package `workplaceType` option.
|
||||
- run budget path (`jobspyResultsWanted`) is reused as `requestedCount` per term.
|
||||
4. Start the run and monitor progress in the pipeline progress card.
|
||||
|
||||
@@ -38,6 +39,7 @@ Defaults and constraints:
|
||||
- The integration runs with `enrichDetails: true`, so it opens job detail pages for richer records.
|
||||
- Browser binaries are not downloaded automatically with the package. Install them with `npx playwright install` before using this extractor in a fresh environment.
|
||||
- When **Search cities** is set, the extractor runs once per city and once per search term.
|
||||
- Workplace type is a global run filter, not a per-city override.
|
||||
- Without explicit cities, the selected country is used as the location filter except for broad modes such as `worldwide` and `usa/ca`.
|
||||
|
||||
## Common problems
|
||||
|
||||
@@ -60,6 +60,16 @@ Incompatible sources are disabled with explanatory tooltips.
|
||||
- **Min suitability score**
|
||||
- **Max jobs discovered** (run budget cap)
|
||||
- **Search cities** (optional multi-city input; required for Glassdoor)
|
||||
- **Workplace type** (`Remote`, `Hybrid`, `Onsite`)
|
||||
|
||||
Workplace type applies globally to the run across all search terms and locations.
|
||||
|
||||
Source behavior differs:
|
||||
|
||||
- Hiring Cafe and startup.jobs support all three workplace types directly.
|
||||
- Indeed, LinkedIn, and Glassdoor are backed by JobSpy and only support strict remote filtering.
|
||||
- If workplace type is set to `Remote` only, JobSpy runs with a remote-only filter.
|
||||
- If `Hybrid` or `Onsite` is included, JobSpy sources remain enabled but may return broader results.
|
||||
|
||||
#### Search terms
|
||||
|
||||
@@ -110,6 +120,12 @@ For accepted input formats, inference behavior, and limits, see [Manual Import E
|
||||
- Use `Fast` preset or lower `Max jobs discovered`.
|
||||
- Disable high-cost source combinations where acceptable.
|
||||
|
||||
### JobSpy results are broader than the selected workplace type
|
||||
|
||||
- Indeed, LinkedIn, and Glassdoor only support strict remote filtering in this flow.
|
||||
- Use `Remote` only when you need JobSpy sources filtered tightly.
|
||||
- Hybrid or onsite selections are honored by Hiring Cafe and startup.jobs, but JobSpy-backed sources may still include broader results.
|
||||
|
||||
## Related pages
|
||||
|
||||
- [Find Jobs and Apply Workflow](/docs/next/workflows/find-jobs-and-apply-workflow)
|
||||
|
||||
Reference in New Issue
Block a user