View Source Antikythera.AsyncJob.Metadata (antikythera v0.5.1)

Summary

Functions

Type-aware getter for attempts.

Type-aware setter for attempts.

Type-aware getter for id.

Type-aware setter for id.

Type-aware getter for max_duration.

Type-aware setter for max_duration.

Creates a new instance of Antikythera.AsyncJob.Metadata by using the given dict.

A variant of new/1 which returns t or raise if validation fails.

Type-aware getter for remaining_attempts.

Type-aware setter for remaining_attempts.

Type-aware getter for retry_interval.

Type-aware setter for retry_interval.

Type-aware getter for run_at.

Type-aware setter for run_at.

Updates an existing instance of Antikythera.AsyncJob.Metadata with the given dict. The values in the dict are validated by each field's valid?/1 function. Returns {:ok, valid_struct} or {:error, reason}.

A variant of update/2 which returns t or raise if validation fails. In other words, update/2 followed by Croma.Result.get!/1.

Checks if the given value belongs to t/0 or not.

Types

@type t() :: %Antikythera.AsyncJob.Metadata{
  attempts: Antikythera.AsyncJob.Attempts.t(),
  id: Antikythera.AsyncJob.Id.t(),
  max_duration: Antikythera.AsyncJob.MaxDuration.t(),
  remaining_attempts: Antikythera.AsyncJob.Attempts.t(),
  retry_interval: Antikythera.AsyncJob.RetryInterval.t(),
  run_at: Antikythera.Time.t()
}

Functions

@spec attempts(t()) :: Antikythera.AsyncJob.Attempts.t()

Type-aware getter for attempts.

@spec attempts(t(), Antikythera.AsyncJob.Attempts.t()) :: t()

Type-aware setter for attempts.

@spec id(t()) :: Antikythera.AsyncJob.Id.t()

Type-aware getter for id.

@spec id(t(), Antikythera.AsyncJob.Id.t()) :: t()

Type-aware setter for id.

@spec max_duration(t()) :: Antikythera.AsyncJob.MaxDuration.t()

Type-aware getter for max_duration.

@spec max_duration(t(), Antikythera.AsyncJob.MaxDuration.t()) :: t()

Type-aware setter for max_duration.

@spec new(term()) :: Croma.Result.t(t())

Creates a new instance of Antikythera.AsyncJob.Metadata by using the given dict.

Returns {:ok, valid_struct} or {:error, reason}.

The values in the dict are validated by each field's valid?/1 function. If the value was invalid, it will be passed to new/1 of the field

For missing fields, followings will be tried:

  • default/0 of each field type
  • new/1 of each field type, with empty map as input
@spec new!(term()) :: t()

A variant of new/1 which returns t or raise if validation fails.

In other words, new/1 followed by Croma.Result.get!/1.

Link to this function

remaining_attempts(metadata)

View Source
@spec remaining_attempts(t()) :: Antikythera.AsyncJob.Attempts.t()

Type-aware getter for remaining_attempts.

Link to this function

remaining_attempts(s, field)

View Source
@spec remaining_attempts(t(), Antikythera.AsyncJob.Attempts.t()) :: t()

Type-aware setter for remaining_attempts.

Link to this function

retry_interval(metadata)

View Source
@spec retry_interval(t()) :: Antikythera.AsyncJob.RetryInterval.t()

Type-aware getter for retry_interval.

Link to this function

retry_interval(s, field)

View Source
@spec retry_interval(t(), Antikythera.AsyncJob.RetryInterval.t()) :: t()

Type-aware setter for retry_interval.

@spec run_at(t()) :: Antikythera.Time.t()

Type-aware getter for run_at.

@spec run_at(t(), Antikythera.Time.t()) :: t()

Type-aware setter for run_at.

@spec update(t(), Dict.t()) :: Croma.Result.t(t())

Updates an existing instance of Antikythera.AsyncJob.Metadata with the given dict. The values in the dict are validated by each field's valid?/1 function. Returns {:ok, valid_struct} or {:error, reason}.

@spec update!(t(), Dict.t()) :: t()

A variant of update/2 which returns t or raise if validation fails. In other words, update/2 followed by Croma.Result.get!/1.

@spec valid?(term()) :: boolean()

Checks if the given value belongs to t/0 or not.