GeoGenius.Runners.Inline (geo_genius v0.2.0)

Copy Markdown View Source

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

available?()

@spec available?() :: boolean()

Always true: running in the calling process needs no configuration.

enqueue(context, run_id, args)

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.

name()

@spec name() :: String.t()

Returns "inline".