mix geo_genius.import (geo_genius v0.2.0)

Copy Markdown View Source

Registers a collection release from its manifest and enqueues its import.

Options

  • --collection - the collection key to import (required)
  • --release - the release key to import (required)
  • --publish - publish the release once the import completes
  • --await - wait for the run to finish instead of returning its id
  • --timeout - how long --await waits, in milliseconds; left out, it resolves the way GeoGenius.await/3 does, through config :geo_genius, :await_timeout and then the library default
  • --owner - the owner recorded on the run's lease (default the node name)
  • --repo - the Ecto Repo to run against
  • --prefix - the PostgreSQL schema GeoGenius is installed in

Without --await the task prints the run id and returns as soon as the run is enqueued: the work may be executing on another node entirely. With --await it polls the catalog and exits non-zero for a run that failed or did not finish in time, so a deploy step can wait on the outcome.

A --timeout that elapses stops the waiting, not the run. The named run is still executing wherever its backend put it, and mix geo_genius.status --run-id reads its outcome afterwards. Re-running the import instead is safe but pointless: the same owner re-enqueues the same run, and its latched executor makes the duplicate delivery a no-op rather than starting a second execution.

--publish publishes through the pipeline's own publishing phase, which bounds its statement by the window the run was claimed under (900 seconds by default). There is no switch here to move that bound, unlike mix geo_genius.publish --timeout; a release needing more than the default is imported without --publish and published by that task afterwards.