View Source ErrorTracker.Integrations.Oban (ErrorTracker v0.5.0)
Integration with Oban.
How to use it
It is a plug and play integration: as long as you have Oban installed the ErrorTracker will receive and store the errors as they are reported.
How it works
It works using Oban's Telemetry events, so you don't need to modify anything on your application.
A note on errors grouping
All errors reported using
:error
or{:error, any()}
as the output of yourperform/2
worker function are going to be grouped together (one group of those of errors per worker).The reason of that behaviour is that those errors do not generate an exception, so no stack trace is detected and they are stored as happening in the same place.
If you want errors of your workers to be grouped as you may expect on other integrations, you should raise exceptions to report errors instead of gracefully returning an error value.
Default context
By default we store some context for you on errors generated in an Oban process:
job.id
: the unique ID of the job.job.worker
: the name of the worker module.job.queue
: the name of the queue in which the job was inserted.job.args
: the arguments of the job being executed.job.priority
: the priority of the job.job.attempt
: the number of attempts performed for the job.