Current section
Files
Jump to
Current section
Files
lib/khafra/release_tasks.ex
defmodule Khafra.ReleaseTasks do
@moduledoc """
Run tasks related to new or migrating systems
"""
alias Khafra.Generate.GenerateFromConfig, as: Gen
alias Khafra.Init.Tasks
alias Khafra.Job.IndexOpts
alias Khafra.Job.Searchd
@doc """
Download Sphinx and unpack it
"""
def download_sphinx(), do: download_sphinx(["linux_64"])
def download_sphinx([version]) do
IO.puts "Downloading Sphinx (May take a while)"
_ = Tasks.download_sphinx(version)
IO.puts "Sphinx download and unpack complete"
end
@doc """
Generate a sphinx configuration based on provided elixir config
"""
def generate_config(), do: generate_config([])
def generate_config([]) do
Gen.gen_all()
IO.puts "Finished Generating sphinx/sphinx.conf. Run mix khafra.sphinx.index to test"
end
@doc """
Run the indexer with options
"""
def indexer(), do: indexer([])
def indexer(opts) do
result = IndexOpts.run(opts)
IO.puts result
end
@doc """
Run searchd
"""
def searchd(), do: searchd([])
def searchd(opts) do
result = Searchd.run(opts)
IO.puts result
end
end