Packages
step_flow
1.0.0
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/workers/worker_status.ex
defmodule StepFlow.Workers.WorkerStatus do
use Ecto.Schema
import Ecto.Changeset
import EctoEnum
alias StepFlow.Jobs.Status
alias StepFlow.Workers.WorkerStatus
@moduledoc false
defenum(ActivityEnum, [
"Idle",
"Busy",
"Suspended",
"Terminated"
])
schema "step_flow_worker_status" do
field(:activity, ActivityEnum, default: "Idle")
field(:description, :string, default: "")
field(:direct_messaging_queue_name, :string, default: "")
field(:instance_id, :string)
field(:label, :string, default: "")
field(:queue_name, :string, default: "")
field(:sdk_version, :string, default: "")
field(:short_description, :string, default: "")
field(:system_info, :map, default: %{})
field(:version, :string, default: "")
embeds_one :current_job, JobStatus, on_replace: :delete do
field(:execution_duration, :float)
field(:job_id, :integer)
field(:status, Status.StateEnum)
end
timestamps()
end
@doc false
def changeset(%WorkerStatus{} = worker_status, attrs) do
worker_status
|> cast(attrs, [
:activity,
:description,
:direct_messaging_queue_name,
:instance_id,
:label,
:queue_name,
:sdk_version,
:short_description,
:system_info,
:version
])
|> cast_embed(:current_job, with: &job_status_changeset/2)
|> validate_required([
:instance_id
])
|> unique_constraint(:instance_id)
end
defp job_status_changeset(schema, params) do
schema
|> cast(params, [
:execution_duration,
:job_id,
:status
])
|> validate_required([
:job_id,
:status
])
end
end