Errors are your friends. The most important thing you can do when encountering an error in any step of a data integration project is to read what's on the screen. While this may sound obvious, it's very easy to see a big block of technical language and switch off.
Often, there are simple business reasons that a run is failing and they can be identified from the error messages displayed in the logs by @openfn/core.
Standard Exit Codes
0 is a success (run succeeded, e.g. a destination system responded
1 is a normally-handled error (run failed normally, e.g. a
destination system responded with a
5XX, or some specialized
2 means that your run timed out. It exceeded the timeout you set for
your job, or if you're using the hosted platform on a non-enterprise plan, it
10: Core Error
10 means there was an error in
@openfn/core/cli.js execute. It's
possible that you job can't be run how it's written, but that various validation
checks failed to warn you earlier.
134: Out of memory
This is a standard out of memory error from the NodeVM. See NodeVM memory limits below.
Special Exit Codes (Platform)
The OpenFn platform controls the execution of all of your jobs via the ErlangVM. (Learn about Erlang here.) The following exit codes are applied at the level of this controlling VM, rather than down inside your run's NodeVM.
3: Failed to start
3 means the run could not be started due to an Erlang error. This
could relate to network traffic, but very rare as an error which takes place
before the run is started will be retried—with an exponential backoff—for a
very long time.
4: The NodeVM is unresponsive
4 means that the NodeVM running your job became unresponsive. It
attempted to exit after the timeout but couldn't, so we shut down the process
from the controlling ErlangVM.
5: Elixir/ErlangVM Error
5 means we encountered an unexpected error during the execution of
your job which could only be caught by the controlling ErlangVM. Errors like
this are very rare and trigger an internal audit by the OpenFN engineering team.
6: Aborted by project administrator
6 means that a run created and queued for execution but then
subsequently aborted by request of an administrator or owner of that project.
11: Node.js Error
11 means that there was an error in the NodeVM execution but the
exit code itself couldn't be captured by our application.
We've shifted this content to a dedicated limits page.