Runs an import in the calling process.
This is the honest default for a host with a small catalog and no job
framework installed: enqueue/3 does not return until
GeoGenius.Pipeline.execute/3 has finished, so by the time it does, the
run's outcome is already durable in PostgreSQL.
Ships in place of the plan's Runners.Test, because this is not a
test-only module -- it is the backend a host without PgFlow or a
Task.Supervisor actually runs imports under.
Summary
Functions
Always true: running in the calling process needs no configuration.
Runs the import synchronously and returns once it has finished.
Returns "inline".
Functions
@spec available?() :: boolean()
Always true: running in the calling process needs no configuration.
@spec enqueue(GeoGenius.Context.t(), Ecto.UUID.t(), GeoGenius.Runner.args()) :: :ok | {:error, GeoGenius.Runner.enqueue_error()}
Runs the import synchronously and returns once it has finished.
Returns :ok for both an import that completed and one that ran and
recorded a failure -- either outcome is durably in the catalog, and a
caller reads it back from there rather than from this return value.
Returns {:error, {:not_enqueued, reason}} only when the pipeline reports
:not_started. A missing durable outcome after executor claim returns
{:error, {:outcome_unknown, reason}}, because the import may have mutated
its candidate even though its final state could not be confirmed.
@spec name() :: String.t()
Returns "inline".