Packages
oban
2.9.2
2.23.0
2.22.1
2.22.0
2.21.1
2.21.0
2.20.3
2.20.2
2.20.1
2.20.0
2.19.4
2.19.3
2.19.2
2.19.1
2.19.0
2.18.3
2.18.2
2.18.1
2.18.0
2.17.12
2.17.11
2.17.10
2.17.9
2.17.8
2.17.7
2.17.6
2.17.5
2.17.4
2.17.3
2.17.2
2.17.1
2.17.0
2.16.3
2.16.2
2.16.1
2.16.0
2.15.4
2.15.3
2.15.2
2.15.1
2.15.0
2.14.2
2.14.1
2.14.0
2.13.6
2.13.5
2.13.4
2.13.3
2.13.2
2.13.1
2.13.0
2.12.1
2.12.0
2.11.3
2.11.2
2.11.1
2.11.0
2.10.1
2.10.0
retired
2.9.2
2.9.1
2.9.0
2.8.0
2.7.2
2.7.1
2.7.0
2.6.1
2.6.0
2.5.0
2.4.3
2.4.2
2.4.1
2.4.0
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.0
2.1.0
2.0.0
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
1.2.0
1.1.0
1.0.0
1.0.0-rc.2
1.0.0-rc.1
0.12.1
0.12.0
0.11.1
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Robust job processing, backed by modern PostgreSQL, SQLite3, and MySQL.
Current section
Files
Jump to
Current section
Files
lib/oban/exceptions.ex
defmodule Oban.CrashError do
@moduledoc """
Wraps unhandled exits and throws that occur during job execution.
"""
defexception [:message, :reason]
@impl Exception
def exception({kind, reason, stacktrace}) do
message = Exception.format_banner(kind, reason, stacktrace)
%__MODULE__{message: message, reason: reason}
end
end
defmodule Oban.PerformError do
@moduledoc """
Wraps the reason returned by `{:error, reason}`, `{:discard, reason}` in a proper exception.
The original return tuple is available in the `:reason` key.
"""
alias Oban.Worker
defexception [:message, :reason]
@impl Exception
def exception({worker, reason}) do
message = "#{Worker.to_string(worker)} failed with #{inspect(reason)}"
%__MODULE__{message: message, reason: reason}
end
end
defmodule Oban.TimeoutError do
@moduledoc """
Returned when a job is terminated early due to a custom timeout.
"""
alias Oban.Worker
defexception [:message, :reason]
@impl Exception
def exception({worker, timeout}) do
message = "#{Worker.to_string(worker)} timed out after #{timeout}ms"
%__MODULE__{message: message, reason: :timeout}
end
end