Packages
step_flow
1.4.0-rc1
1.9.0-rc2
1.9.0-rc1
1.9.0-rc0
1.8.2
1.8.1
1.8.1-rc8
1.8.1-rc7
1.8.1-rc6
1.8.1-rc5
1.8.1-rc4
1.8.1-rc3
1.8.1-rc2
1.8.1-rc1
1.8.1-rc0
1.8.0
1.8.0-rc3
1.8.0-rc2
1.8.0-rc1
1.8.0-rc0
1.7.3
1.7.3-rc4
1.7.3-rc3
1.7.3-rc2
1.7.3-rc1
1.7.3-rc0
1.7.2
1.7.2-rc4
1.7.2-rc3
1.7.2-rc2
1.7.2-rc1
1.7.2-rc0
1.7.1
1.7.0
1.7.0-rc1
1.7.0-rc0
1.6.1
1.6.1-rc1
1.6.1-rc0
1.6.0
1.6.0-rc9
1.6.0-rc8
1.6.0-rc7
1.6.0-rc6
1.6.0-rc5
1.6.0-rc4
1.6.0-rc3
1.6.0-rc20
1.6.0-rc2
1.6.0-rc19
1.6.0-rc18
1.6.0-rc17
1.6.0-rc16
1.6.0-rc15
1.6.0-rc14
1.6.0-rc13
1.6.0-rc12
1.6.0-rc11
1.6.0-rc10
1.6.0-rc1
1.5.0
1.5.0-rc1
1.4.2-rc2
1.4.2-rc1
1.4.1
1.4.1-rc1
1.4.0
1.4.0-rc4
1.4.0-rc3
1.4.0-rc2
1.4.0-rc1
1.3.1
1.3.0
1.3.0-rc
1.2.0
1.1.0
1.0.0
1.0.0-rc9
1.0.0-rc8
1.0.0-rc7
1.0.0-rc6
1.0.0-rc5
1.0.0-rc1
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.4
0.0.3
0.0.2
0.0.1
Step flow manager for Elixir applications
Current section
Files
Jump to
Current section
Files
lib/step_flow/controllers/workers_controller.ex
defmodule StepFlow.WorkersController do
use StepFlow, :controller
require Logger
alias StepFlow.Amqp.CommonEmitter
alias StepFlow.Workers.WorkerStatuses
action_fallback(StepFlow.FallbackController)
def index(conn, params) do
Logger.debug("[#{__MODULE__}] List worker statuses request: #{inspect(params)}")
worker_statuses = WorkerStatuses.list_worker_statuses(params)
conn
|> put_view(StepFlow.WorkerStatusView)
|> render("index.json", worker_statuses)
end
def show(conn, %{"id" => instance_id}) do
Logger.debug("[#{__MODULE__}] Show worker status request: #{inspect(instance_id)}")
case WorkerStatuses.get_worker_status(instance_id) do
nil ->
conn
|> send_resp(404, "No such a worker could be found. ")
worker_status ->
conn
|> put_view(StepFlow.WorkerStatusView)
|> render("worker_status.json", %{worker_status: worker_status})
end
end
def update(conn, params) do
Logger.debug("[#{__MODULE__}] Put order message request: #{inspect(params)}")
instance_id = Map.get(params, "id")
order_message =
Map.delete(params, "id")
|> Jason.encode!()
Logger.info(
"[#{__MODULE__}] Send order to worker #{inspect(instance_id)}: #{inspect(order_message)}"
)
CommonEmitter.publish(
"",
order_message,
[headers: [instance_id: instance_id]],
"direct_messaging"
)
conn
|> send_resp(204, "")
end
end