Troubleshooting
Run any failing command again with DEBUG=1 in front for the full stack trace.
@fob/lib-worker not found in this worker repo#
@fob/lib-worker not found in this worker repo.
Expected: /home/dev/node_modules/@fob/lib-worker/src/index.js
Run "npm install" in your worker repo first.
fob-worker uses the lib-worker installed in the worker repo you're in. Either you're not in the repo's root folder (check the Expected: path), or you haven't run npm install there.
Steps directory not found#
Error: Steps directory not found: /home/dev/src/steps
Run fob-worker from the worker repo's root, the folder that contains src/steps/.
Unknown step#
Unknown step: IN1_02_report
Run "fob-worker steps list" to see available steps
- Check the slug with
fob-worker steps list. It's theslugindefineStep(), not the file name. - Look above the error for
[Worker] Failed to import …. The step file didn't load: a syntax error, a missing import, or adefineStep()withoutnameordescription. The message says which. - Built-in steps such as
lib-worker:move_filescan't be run withsteps run.
Invalid input config#
Error: [IN1_02_report] Invalid input config:
- flagged: Invalid input: expected array, received undefined
The config doesn't match the step's inputSchema. Look at the Resolved config line just above:
- A value that's missing after resolving usually came from a
{{<slug>.<field>}}template whose step output isn't intemp/. Run that step first. - With
--empty, every field without a default is missing.
Invalid output#
The value execute returned doesn't match outputSchema. The message lists the fields that don't match.
Station not found locally#
Station not found locally: IN1
Run "fob-orc stations pull IN1" first
--station reads .orchestrator/stations/. Pull the station with fob-orc, or check the short code with fob-worker lines list.
Step not found in station#
The station's file doesn't list that step. The message lists the steps it does have.
Scenario not found#
Scenario not found: nope
Available scenarios: two-invoices
Scenarios live in .orchestrator/scenarios/<slug>/<name>.json, and --scenario takes the name without .json.
No lines found#
fob-worker builds lines from the station files in .orchestrator/stations/. Pull them with fob-orc stations pull --all. A station file without a line field doesn't belong to any line.
A workpiece is stuck in failed#
fob-worker workpieces show <id>
cat temp/stations/<STATION>/failed/<id>/error.txt
error.json has the error with any extra properties your code attached. After fixing the cause, move the folder back to the station's input bin to retry. See Workpieces and bins.
pm2 not found#
fob-worker procs uses pm2. Install it with npm install -g pm2.
Doesn't look like a fob worker repo#
procs start needs a folder whose package.json depends on @fob/lib-worker and has a main entry, as the template's does.
Running directly, not under pm2#
The worker was started with npm start or node, not with procs start. Stop it in its terminal or with kill <pid>; procs can only stop, restart and tail pm2 workers.
The worker exits with missing environment variables#
[Worker] Missing required environment variables:
- ORCHESTRATOR_API_KEY
- ORCHESTRATOR_API_SECRET
- WORKER_LOCATION
Fill them in .env in the worker repo. See Configuration.
The worker logs "Poll failed" or "Poll error"#
Poll error: fetch failed: the worker can't reachORCHESTRATOR_URL. Check the URL and your network.Poll failed: 401: the API key or secret is wrong, expired or revoked.403: the key doesn't have the permissions the worker needs. Create a new key in Settings → API Keys.- A message that another worker already serves the location: two workers have the same
WORKER_LOCATION. Stop one. See One worker per location.
Unknown command#
Unknown command: bogus
Check the spelling with fob-worker --help, or fob-worker <resource> --help for actions. Commands for stations and lines on the Orchestrator (pull, push, run) are in fob-orc.
Still stuck#
Open an issue on GitHub with the command, its output (with DEBUG=1) and your fob-worker and lib-worker versions. Remove API keys and business data first.