Current section
Files
Jump to
Current section
Files
src/gabsurd@sql.erl
-module(gabsurd@sql).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/gabsurd/sql.gleam").
-export([create_queue/1, create_queue_decoder/0, create_queue_with_mode/2, create_queue_with_mode_decoder/0, drop_queue/1, drop_queue_decoder/0, list_queues_decoder/0, list_queues/0, get_queue_policy_decoder/0, get_queue_policy/1, set_queue_policy/2, set_queue_policy_decoder/0, spawn_task_decoder/0, spawn_task/4, claim_task_decoder/0, claim_task/4, complete_run/3, complete_run_decoder/0, schedule_run/3, schedule_run_decoder/0, fail_run/3, fail_run_decoder/0, fail_run_with_retry/4, fail_run_with_retry_decoder/0, retry_task_decoder/0, retry_task/3, cancel_task/2, cancel_task_decoder/0, get_task_result_decoder/0, get_task_result/2, set_task_checkpoint_state/6, set_task_checkpoint_state_decoder/0, get_task_checkpoint_state_decoder/0, get_task_checkpoint_state/4, get_task_checkpoint_states_decoder/0, get_task_checkpoint_states/3, await_event_decoder/0, await_event/6, emit_event/3, emit_event_decoder/0, extend_claim/3, extend_claim_decoder/0, cleanup_all_queues_decoder/0, cleanup_all_queues/1, cleanup_tasks_decoder/0, cleanup_tasks/3, cleanup_events_decoder/0, cleanup_events/3, get_schema_version_decoder/0, get_schema_version/0]).
-export_type([create_queue/0, create_queue_with_mode/0, drop_queue/0, list_queues/0, get_queue_policy/0, set_queue_policy/0, spawn_task/0, claim_task/0, complete_run/0, schedule_run/0, fail_run/0, fail_run_with_retry/0, retry_task/0, cancel_task/0, get_task_result/0, set_task_checkpoint_state/0, get_task_checkpoint_state/0, get_task_checkpoint_states/0, await_event/0, emit_event/0, extend_claim/0, cleanup_all_queues/0, cleanup_tasks/0, cleanup_events/0, get_schema_version/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(
" Code generated by parrot. DO NOT EDIT.\n"
"\n"
).
-type create_queue() :: {create_queue, binary()}.
-type create_queue_with_mode() :: {create_queue_with_mode, binary()}.
-type drop_queue() :: {drop_queue, binary()}.
-type list_queues() :: {list_queues, binary()}.
-type get_queue_policy() :: {get_queue_policy,
binary(),
binary(),
binary(),
binary(),
binary(),
binary(),
integer(),
binary(),
binary()}.
-type set_queue_policy() :: {set_queue_policy, binary()}.
-type spawn_task() :: {spawn_task,
bitstring(),
bitstring(),
integer(),
boolean()}.
-type claim_task() :: {claim_task,
bitstring(),
bitstring(),
integer(),
binary(),
binary(),
binary(),
integer(),
binary(),
binary(),
binary()}.
-type complete_run() :: {complete_run, binary()}.
-type schedule_run() :: {schedule_run, binary()}.
-type fail_run() :: {fail_run, binary()}.
-type fail_run_with_retry() :: {fail_run_with_retry, binary()}.
-type retry_task() :: {retry_task,
bitstring(),
bitstring(),
integer(),
boolean()}.
-type cancel_task() :: {cancel_task, binary()}.
-type get_task_result() :: {get_task_result,
bitstring(),
binary(),
binary(),
binary()}.
-type set_task_checkpoint_state() :: {set_task_checkpoint_state, binary()}.
-type get_task_checkpoint_state() :: {get_task_checkpoint_state,
binary(),
binary(),
binary(),
bitstring(),
gleam@time@timestamp:timestamp()}.
-type get_task_checkpoint_states() :: {get_task_checkpoint_states,
binary(),
binary(),
binary(),
bitstring(),
gleam@time@timestamp:timestamp()}.
-type await_event() :: {await_event, boolean(), binary()}.
-type emit_event() :: {emit_event, binary()}.
-type extend_claim() :: {extend_claim, binary()}.
-type cleanup_all_queues() :: {cleanup_all_queues,
binary(),
integer(),
integer()}.
-type cleanup_tasks() :: {cleanup_tasks, integer()}.
-type cleanup_events() :: {cleanup_events, integer()}.
-type get_schema_version() :: {get_schema_version, binary()}.
-file("src/gabsurd/sql.gleam", 12).
-spec create_queue(binary()) -> {binary(), list(parrot@dev:param())}.
create_queue(P_queue_name) ->
Sql = <<"
SELECT absurd.create_queue($1)::text"/utf8>>,
{Sql, [{param_string, P_queue_name}]}.
-file("src/gabsurd/sql.gleam", 20).
-spec create_queue_decoder() -> gleam@dynamic@decode:decoder(create_queue()).
create_queue_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) -> gleam@dynamic@decode:success({create_queue, Col_0}) end
).
-file("src/gabsurd/sql.gleam", 29).
-spec create_queue_with_mode(binary(), binary()) -> {binary(),
list(parrot@dev:param())}.
create_queue_with_mode(P_queue_name, P_storage_mode) ->
Sql = <<"SELECT absurd.create_queue($1, $2)::text"/utf8>>,
{Sql, [{param_string, P_queue_name}, {param_string, P_storage_mode}]}.
-file("src/gabsurd/sql.gleam", 37).
-spec create_queue_with_mode_decoder() -> gleam@dynamic@decode:decoder(create_queue_with_mode()).
create_queue_with_mode_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) ->
gleam@dynamic@decode:success({create_queue_with_mode, Col_0})
end
).
-file("src/gabsurd/sql.gleam", 46).
-spec drop_queue(binary()) -> {binary(), list(parrot@dev:param())}.
drop_queue(P_queue_name) ->
Sql = <<"SELECT absurd.drop_queue($1)::text"/utf8>>,
{Sql, [{param_string, P_queue_name}]}.
-file("src/gabsurd/sql.gleam", 51).
-spec drop_queue_decoder() -> gleam@dynamic@decode:decoder(drop_queue()).
drop_queue_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) -> gleam@dynamic@decode:success({drop_queue, Col_0}) end
).
-file("src/gabsurd/sql.gleam", 67).
-spec list_queues_decoder() -> gleam@dynamic@decode:decoder(list_queues()).
list_queues_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Queue_name) ->
gleam@dynamic@decode:success({list_queues, Queue_name})
end
).
-file("src/gabsurd/sql.gleam", 60).
-spec list_queues() -> {binary(),
list(any()),
gleam@dynamic@decode:decoder(list_queues())}.
list_queues() ->
Sql = <<"SELECT queue_name::text
FROM absurd.list_queues()"/utf8>>,
{Sql, [], list_queues_decoder()}.
-file("src/gabsurd/sql.gleam", 102).
-spec get_queue_policy_decoder() -> gleam@dynamic@decode:decoder(get_queue_policy()).
get_queue_policy_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Queue_name) ->
gleam@dynamic@decode:field(
1,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Storage_mode) ->
gleam@dynamic@decode:field(
2,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Default_partition) ->
gleam@dynamic@decode:field(
3,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Partition_lookahead) ->
gleam@dynamic@decode:field(
4,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Partition_lookback) ->
gleam@dynamic@decode:field(
5,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Cleanup_ttl) ->
gleam@dynamic@decode:field(
6,
{decoder,
fun gleam@dynamic@decode:decode_int/1},
fun(Cleanup_limit) ->
gleam@dynamic@decode:field(
7,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Detach_mode) ->
gleam@dynamic@decode:field(
8,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(
Detach_min_age
) ->
gleam@dynamic@decode:success(
{get_queue_policy,
Queue_name,
Storage_mode,
Default_partition,
Partition_lookahead,
Partition_lookback,
Cleanup_ttl,
Cleanup_limit,
Detach_mode,
Detach_min_age}
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
).
-file("src/gabsurd/sql.gleam", 86).
-spec get_queue_policy(binary()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(get_queue_policy())}.
get_queue_policy(P_queue_name) ->
Sql = <<"SELECT
queue_name::text,
storage_mode::text,
default_partition::text,
partition_lookahead::text,
partition_lookback::text,
cleanup_ttl::text,
cleanup_limit::integer,
detach_mode::text,
detach_min_age::text
FROM absurd.get_queue_policy($1)"/utf8>>,
{Sql, [{param_string, P_queue_name}], get_queue_policy_decoder()}.
-file("src/gabsurd/sql.gleam", 129).
-spec set_queue_policy(binary(), binary()) -> {binary(),
list(parrot@dev:param())}.
set_queue_policy(P_queue_name, P_policy) ->
Sql = <<"SELECT absurd.set_queue_policy($1, $2)::text"/utf8>>,
{Sql, [{param_string, P_queue_name}, {param_string, P_policy}]}.
-file("src/gabsurd/sql.gleam", 137).
-spec set_queue_policy_decoder() -> gleam@dynamic@decode:decoder(set_queue_policy()).
set_queue_policy_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) ->
gleam@dynamic@decode:success({set_queue_policy, Col_0})
end
).
-file("src/gabsurd/sql.gleam", 172).
-spec spawn_task_decoder() -> gleam@dynamic@decode:decoder(spawn_task()).
spawn_task_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_bit_array/1},
fun(Task_id) ->
gleam@dynamic@decode:field(
1,
{decoder, fun gleam@dynamic@decode:decode_bit_array/1},
fun(Run_id) ->
gleam@dynamic@decode:field(
2,
{decoder, fun gleam@dynamic@decode:decode_int/1},
fun(Attempt) ->
gleam@dynamic@decode:field(
3,
parrot@dev:bool_decoder(),
fun(Created) ->
gleam@dynamic@decode:success(
{spawn_task,
Task_id,
Run_id,
Attempt,
Created}
)
end
)
end
)
end
)
end
).
-file("src/gabsurd/sql.gleam", 146).
-spec spawn_task(binary(), binary(), binary(), binary()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(spawn_task())}.
spawn_task(P_queue_name, P_task_name, P_params, P_options) ->
Sql = <<"
SELECT
task_id::uuid,
run_id::uuid,
attempt::integer,
created::boolean
FROM absurd.spawn_task($1, $2, $3, $4)"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_string, P_task_name},
{param_string, P_params},
{param_string, P_options}],
spawn_task_decoder()}.
-file("src/gabsurd/sql.gleam", 226).
-spec claim_task_decoder() -> gleam@dynamic@decode:decoder(claim_task()).
claim_task_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_bit_array/1},
fun(Run_id) ->
gleam@dynamic@decode:field(
1,
{decoder, fun gleam@dynamic@decode:decode_bit_array/1},
fun(Task_id) ->
gleam@dynamic@decode:field(
2,
{decoder, fun gleam@dynamic@decode:decode_int/1},
fun(Attempt) ->
gleam@dynamic@decode:field(
3,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Task_name) ->
gleam@dynamic@decode:field(
4,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Params) ->
gleam@dynamic@decode:field(
5,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Retry_strategy) ->
gleam@dynamic@decode:field(
6,
{decoder,
fun gleam@dynamic@decode:decode_int/1},
fun(Max_attempts) ->
gleam@dynamic@decode:field(
7,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Headers) ->
gleam@dynamic@decode:field(
8,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(
Wake_event
) ->
gleam@dynamic@decode:field(
9,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(
Event_payload
) ->
gleam@dynamic@decode:success(
{claim_task,
Run_id,
Task_id,
Attempt,
Task_name,
Params,
Retry_strategy,
Max_attempts,
Headers,
Wake_event,
Event_payload}
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
).
-file("src/gabsurd/sql.gleam", 195).
-spec claim_task(binary(), binary(), integer(), integer()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(claim_task())}.
claim_task(P_queue_name, P_worker_id, P_claim_timeout, P_qty) ->
Sql = <<"SELECT
run_id::uuid,
task_id::uuid,
attempt::integer,
task_name::text,
params::text,
COALESCE(retry_strategy, '{}')::text AS retry_strategy,
COALESCE(max_attempts, 0)::integer AS max_attempts,
COALESCE(headers, '{}')::text AS headers,
COALESCE(wake_event, '')::text AS wake_event,
COALESCE(event_payload, '{}')::text AS event_payload
FROM absurd.claim_task($1, $2, $3, $4)"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_string, P_worker_id},
{param_int, P_claim_timeout},
{param_int, P_qty}],
claim_task_decoder()}.
-file("src/gabsurd/sql.gleam", 255).
-spec complete_run(binary(), bitstring(), binary()) -> {binary(),
list(parrot@dev:param())}.
complete_run(P_queue_name, P_run_id, P_state) ->
Sql = <<"SELECT absurd.complete_run($1, $2, $3)::text"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_run_id},
{param_string, P_state}]}.
-file("src/gabsurd/sql.gleam", 268).
-spec complete_run_decoder() -> gleam@dynamic@decode:decoder(complete_run()).
complete_run_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) -> gleam@dynamic@decode:success({complete_run, Col_0}) end
).
-file("src/gabsurd/sql.gleam", 277).
-spec schedule_run(binary(), bitstring(), gleam@time@timestamp:timestamp()) -> {binary(),
list(parrot@dev:param())}.
schedule_run(P_queue_name, P_run_id, P_wake_at) ->
Sql = <<"SELECT absurd.schedule_run($1, $2, $3)::text"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_run_id},
{param_timestamp, P_wake_at}]}.
-file("src/gabsurd/sql.gleam", 290).
-spec schedule_run_decoder() -> gleam@dynamic@decode:decoder(schedule_run()).
schedule_run_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) -> gleam@dynamic@decode:success({schedule_run, Col_0}) end
).
-file("src/gabsurd/sql.gleam", 299).
-spec fail_run(binary(), bitstring(), binary()) -> {binary(),
list(parrot@dev:param())}.
fail_run(P_queue_name, P_run_id, P_reason) ->
Sql = <<"SELECT absurd.fail_run($1, $2, $3, NULL)::text"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_run_id},
{param_string, P_reason}]}.
-file("src/gabsurd/sql.gleam", 312).
-spec fail_run_decoder() -> gleam@dynamic@decode:decoder(fail_run()).
fail_run_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) -> gleam@dynamic@decode:success({fail_run, Col_0}) end
).
-file("src/gabsurd/sql.gleam", 321).
-spec fail_run_with_retry(
binary(),
bitstring(),
binary(),
gleam@time@timestamp:timestamp()
) -> {binary(), list(parrot@dev:param())}.
fail_run_with_retry(P_queue_name, P_run_id, P_reason, P_retry_at) ->
Sql = <<"SELECT absurd.fail_run($1, $2, $3, $4)::text"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_run_id},
{param_string, P_reason},
{param_timestamp, P_retry_at}]}.
-file("src/gabsurd/sql.gleam", 336).
-spec fail_run_with_retry_decoder() -> gleam@dynamic@decode:decoder(fail_run_with_retry()).
fail_run_with_retry_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) ->
gleam@dynamic@decode:success({fail_run_with_retry, Col_0})
end
).
-file("src/gabsurd/sql.gleam", 368).
-spec retry_task_decoder() -> gleam@dynamic@decode:decoder(retry_task()).
retry_task_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_bit_array/1},
fun(Task_id) ->
gleam@dynamic@decode:field(
1,
{decoder, fun gleam@dynamic@decode:decode_bit_array/1},
fun(Run_id) ->
gleam@dynamic@decode:field(
2,
{decoder, fun gleam@dynamic@decode:decode_int/1},
fun(Attempt) ->
gleam@dynamic@decode:field(
3,
parrot@dev:bool_decoder(),
fun(Created) ->
gleam@dynamic@decode:success(
{retry_task,
Task_id,
Run_id,
Attempt,
Created}
)
end
)
end
)
end
)
end
).
-file("src/gabsurd/sql.gleam", 345).
-spec retry_task(binary(), bitstring(), binary()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(retry_task())}.
retry_task(P_queue_name, P_task_id, P_options) ->
Sql = <<"SELECT
task_id::uuid,
run_id::uuid,
attempt::integer,
created::boolean
FROM absurd.retry_task($1, $2, $3)"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_task_id},
{param_string, P_options}],
retry_task_decoder()}.
-file("src/gabsurd/sql.gleam", 380).
-spec cancel_task(binary(), bitstring()) -> {binary(), list(parrot@dev:param())}.
cancel_task(P_queue_name, P_task_id) ->
Sql = <<"SELECT absurd.cancel_task($1, $2)::text"/utf8>>,
{Sql, [{param_string, P_queue_name}, {param_bit_array, P_task_id}]}.
-file("src/gabsurd/sql.gleam", 388).
-spec cancel_task_decoder() -> gleam@dynamic@decode:decoder(cancel_task()).
cancel_task_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) -> gleam@dynamic@decode:success({cancel_task, Col_0}) end
).
-file("src/gabsurd/sql.gleam", 420).
-spec get_task_result_decoder() -> gleam@dynamic@decode:decoder(get_task_result()).
get_task_result_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_bit_array/1},
fun(Task_id) ->
gleam@dynamic@decode:field(
1,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(State) ->
gleam@dynamic@decode:field(
2,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Result) ->
gleam@dynamic@decode:field(
3,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Failure_reason) ->
gleam@dynamic@decode:success(
{get_task_result,
Task_id,
State,
Result,
Failure_reason}
)
end
)
end
)
end
)
end
).
-file("src/gabsurd/sql.gleam", 402).
-spec get_task_result(binary(), bitstring()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(get_task_result())}.
get_task_result(P_queue_name, P_task_id) ->
Sql = <<"SELECT
task_id::uuid,
state::text,
COALESCE(result, '{}')::text AS result,
COALESCE(failure_reason, '{}')::text AS failure_reason
FROM absurd.get_task_result($1, $2)"/utf8>>,
{Sql,
[{param_string, P_queue_name}, {param_bit_array, P_task_id}],
get_task_result_decoder()}.
-file("src/gabsurd/sql.gleam", 432).
-spec set_task_checkpoint_state(
binary(),
bitstring(),
binary(),
binary(),
bitstring(),
integer()
) -> {binary(), list(parrot@dev:param())}.
set_task_checkpoint_state(
P_queue_name,
P_task_id,
P_step_name,
P_state,
P_owner_run,
P_extend_claim_by
) ->
Sql = <<"
SELECT absurd.set_task_checkpoint_state($1, $2, $3, $4, $5, $6)::text"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_task_id},
{param_string, P_step_name},
{param_string, P_state},
{param_bit_array, P_owner_run},
{param_int, P_extend_claim_by}]}.
-file("src/gabsurd/sql.gleam", 453).
-spec set_task_checkpoint_state_decoder() -> gleam@dynamic@decode:decoder(set_task_checkpoint_state()).
set_task_checkpoint_state_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) ->
gleam@dynamic@decode:success({set_task_checkpoint_state, Col_0})
end
).
-file("src/gabsurd/sql.gleam", 496).
-spec get_task_checkpoint_state_decoder() -> gleam@dynamic@decode:decoder(get_task_checkpoint_state()).
get_task_checkpoint_state_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Checkpoint_name) ->
gleam@dynamic@decode:field(
1,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(State) ->
gleam@dynamic@decode:field(
2,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Status) ->
gleam@dynamic@decode:field(
3,
{decoder,
fun gleam@dynamic@decode:decode_bit_array/1},
fun(Owner_run_id) ->
gleam@dynamic@decode:field(
4,
parrot@dev:datetime_decoder(),
fun(Updated_at) ->
gleam@dynamic@decode:success(
{get_task_checkpoint_state,
Checkpoint_name,
State,
Status,
Owner_run_id,
Updated_at}
)
end
)
end
)
end
)
end
)
end
).
-file("src/gabsurd/sql.gleam", 470).
-spec get_task_checkpoint_state(binary(), bitstring(), binary(), boolean()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(get_task_checkpoint_state())}.
get_task_checkpoint_state(
P_queue_name,
P_task_id,
P_step_name,
P_include_pending
) ->
Sql = <<"SELECT
checkpoint_name::text,
COALESCE(state, '{}')::text AS state,
status::text,
COALESCE(owner_run_id, '00000000-0000-0000-0000-000000000000'::uuid)::uuid AS owner_run_id,
updated_at::timestamp
FROM absurd.get_task_checkpoint_state($1, $2, $3, $4)"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_task_id},
{param_string, P_step_name},
{param_bool, P_include_pending}],
get_task_checkpoint_state_decoder()}.
-file("src/gabsurd/sql.gleam", 547).
-spec get_task_checkpoint_states_decoder() -> gleam@dynamic@decode:decoder(get_task_checkpoint_states()).
get_task_checkpoint_states_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Checkpoint_name) ->
gleam@dynamic@decode:field(
1,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(State) ->
gleam@dynamic@decode:field(
2,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Status) ->
gleam@dynamic@decode:field(
3,
{decoder,
fun gleam@dynamic@decode:decode_bit_array/1},
fun(Owner_run_id) ->
gleam@dynamic@decode:field(
4,
parrot@dev:datetime_decoder(),
fun(Updated_at) ->
gleam@dynamic@decode:success(
{get_task_checkpoint_states,
Checkpoint_name,
State,
Status,
Owner_run_id,
Updated_at}
)
end
)
end
)
end
)
end
)
end
).
-file("src/gabsurd/sql.gleam", 523).
-spec get_task_checkpoint_states(binary(), bitstring(), bitstring()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(get_task_checkpoint_states())}.
get_task_checkpoint_states(P_queue_name, P_task_id, P_run_id) ->
Sql = <<"SELECT
checkpoint_name::text,
COALESCE(state, '{}')::text AS state,
status::text,
COALESCE(owner_run_id, '00000000-0000-0000-0000-000000000000'::uuid)::uuid AS owner_run_id,
updated_at::timestamp
FROM absurd.get_task_checkpoint_states($1, $2, $3)"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_task_id},
{param_bit_array, P_run_id}],
get_task_checkpoint_states_decoder()}.
-file("src/gabsurd/sql.gleam", 596).
-spec await_event_decoder() -> gleam@dynamic@decode:decoder(await_event()).
await_event_decoder() ->
gleam@dynamic@decode:field(
0,
parrot@dev:bool_decoder(),
fun(Should_suspend) ->
gleam@dynamic@decode:field(
1,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Payload) ->
gleam@dynamic@decode:success(
{await_event, Should_suspend, Payload}
)
end
)
end
).
-file("src/gabsurd/sql.gleam", 568).
-spec await_event(
binary(),
bitstring(),
bitstring(),
binary(),
binary(),
integer()
) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(await_event())}.
await_event(
P_queue_name,
P_task_id,
P_run_id,
P_step_name,
P_event_name,
P_timeout
) ->
Sql = <<"
SELECT
should_suspend::boolean,
COALESCE(payload, '{}')::text AS payload
FROM absurd.await_event($1, $2, $3, $4, $5, $6)"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_task_id},
{param_bit_array, P_run_id},
{param_string, P_step_name},
{param_string, P_event_name},
{param_int, P_timeout}],
await_event_decoder()}.
-file("src/gabsurd/sql.gleam", 606).
-spec emit_event(binary(), binary(), binary()) -> {binary(),
list(parrot@dev:param())}.
emit_event(P_queue_name, P_event_name, P_payload) ->
Sql = <<"SELECT absurd.emit_event($1, $2, $3)::text"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_string, P_event_name},
{param_string, P_payload}]}.
-file("src/gabsurd/sql.gleam", 619).
-spec emit_event_decoder() -> gleam@dynamic@decode:decoder(emit_event()).
emit_event_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) -> gleam@dynamic@decode:success({emit_event, Col_0}) end
).
-file("src/gabsurd/sql.gleam", 628).
-spec extend_claim(binary(), bitstring(), integer()) -> {binary(),
list(parrot@dev:param())}.
extend_claim(P_queue_name, P_run_id, P_extend_by) ->
Sql = <<"
SELECT absurd.extend_claim($1, $2, $3)::text"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_bit_array, P_run_id},
{param_int, P_extend_by}]}.
-file("src/gabsurd/sql.gleam", 643).
-spec extend_claim_decoder() -> gleam@dynamic@decode:decoder(extend_claim()).
extend_claim_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Col_0) -> gleam@dynamic@decode:success({extend_claim, Col_0}) end
).
-file("src/gabsurd/sql.gleam", 663).
-spec cleanup_all_queues_decoder() -> gleam@dynamic@decode:decoder(cleanup_all_queues()).
cleanup_all_queues_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Queue_name) ->
gleam@dynamic@decode:field(
1,
{decoder, fun gleam@dynamic@decode:decode_int/1},
fun(Tasks_deleted) ->
gleam@dynamic@decode:field(
2,
{decoder, fun gleam@dynamic@decode:decode_int/1},
fun(Events_deleted) ->
gleam@dynamic@decode:success(
{cleanup_all_queues,
Queue_name,
Tasks_deleted,
Events_deleted}
)
end
)
end
)
end
).
-file("src/gabsurd/sql.gleam", 652).
-spec cleanup_all_queues(binary()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(cleanup_all_queues())}.
cleanup_all_queues(P_queue_name) ->
Sql = <<"
SELECT
queue_name::text,
tasks_deleted::integer,
events_deleted::integer
FROM absurd.cleanup_all_queues($1)"/utf8>>,
{Sql, [{param_string, P_queue_name}], cleanup_all_queues_decoder()}.
-file("src/gabsurd/sql.gleam", 693).
-spec cleanup_tasks_decoder() -> gleam@dynamic@decode:decoder(cleanup_tasks()).
cleanup_tasks_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_int/1},
fun(Cleanup_tasks) ->
gleam@dynamic@decode:success({cleanup_tasks, Cleanup_tasks})
end
).
-file("src/gabsurd/sql.gleam", 674).
-spec cleanup_tasks(binary(), integer(), integer()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(cleanup_tasks())}.
cleanup_tasks(P_queue_name, P_ttl_seconds, P_limit) ->
Sql = <<"SELECT cleanup_tasks::integer
FROM absurd.cleanup_tasks($1, $2, $3)"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_int, P_ttl_seconds},
{param_int, P_limit}],
cleanup_tasks_decoder()}.
-file("src/gabsurd/sql.gleam", 721).
-spec cleanup_events_decoder() -> gleam@dynamic@decode:decoder(cleanup_events()).
cleanup_events_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_int/1},
fun(Cleanup_events) ->
gleam@dynamic@decode:success({cleanup_events, Cleanup_events})
end
).
-file("src/gabsurd/sql.gleam", 702).
-spec cleanup_events(binary(), integer(), integer()) -> {binary(),
list(parrot@dev:param()),
gleam@dynamic@decode:decoder(cleanup_events())}.
cleanup_events(P_queue_name, P_ttl_seconds, P_limit) ->
Sql = <<"SELECT cleanup_events::integer
FROM absurd.cleanup_events($1, $2, $3)"/utf8>>,
{Sql,
[{param_string, P_queue_name},
{param_int, P_ttl_seconds},
{param_int, P_limit}],
cleanup_events_decoder()}.
-file("src/gabsurd/sql.gleam", 738).
-spec get_schema_version_decoder() -> gleam@dynamic@decode:decoder(get_schema_version()).
get_schema_version_decoder() ->
gleam@dynamic@decode:field(
0,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Get_schema_version) ->
gleam@dynamic@decode:success(
{get_schema_version, Get_schema_version}
)
end
).
-file("src/gabsurd/sql.gleam", 730).
-spec get_schema_version() -> {binary(),
list(any()),
gleam@dynamic@decode:decoder(get_schema_version())}.
get_schema_version() ->
Sql = <<"
SELECT get_schema_version::text
FROM absurd.get_schema_version()"/utf8>>,
{Sql, [], get_schema_version_decoder()}.