search.ex 482 B

1234567891011121314151617
  1. defmodule Vaccins.Search do
  2. alias Vaccins.Scraper
  3. alias Vaccins.LocationStore.Location
  4. def async_trigger_query(q, target \\ nil)
  5. def async_trigger_query(q, nil), do: async_trigger_query(q, self())
  6. def async_trigger_query(l, target) when not is_nil(target) do
  7. ref = make_ref()
  8. with {:ok, _} <-
  9. Task.start(fn ->
  10. send(target, {:location_availabilities, l.id, l |> Location.query_availability()})
  11. end),
  12. do: ref
  13. end
  14. end