Message

class Message(metadata: Metadata, content: RecordSet | None = None, error: Error | None = None)[소스]

기반 클래스: object

애플리케이션을 사용하는 엔티티의 관점에서 애플리케이션의 상태입니다.

매개변수:
  • metadata (Metadata) – 실행할 메시지에 대한 정보를 포함한 데이터 클래스입니다.

  • content (Optional[RecordSet]) – 다른 엔터티(예: 서버 측 로직이 클라이언트로 전송하거나 그 반대로 전송하는 등)가 전송했거나 전송할 레코드를 보유합니다.

  • error (Optional[Error]) – 다른 메시지를 처리할 때 발생한 오류에 대한 정보를 캡처하는 데이터 클래스입니다.

메소드

create_error_reply(error[, ttl])

오류가 발생했음을 나타내는 답장 메시지를 작성합니다.

create_reply(content[, ttl])

지정된 콘텐츠와 TTL을 사용하여 이 메시지에 대한 답글을 작성합니다.

has_content()

메시지에 콘텐츠가 있으면 True을 반환하고, 그렇지 않으면 False을 반환합니다.

has_error()

메시지에 오류가 있으면 True을 반환하고, 그렇지 않으면 False을 반환합니다.

속성

content

이 메시지의 내용입니다.

error

이 메시지가 캡처한 오류입니다.

metadata

실행할 메시지에 대한 정보를 포함한 데이터 클래스입니다.

property content: RecordSet

이 메시지의 내용입니다.

create_error_reply(error: Error, ttl: float | None = None) Message[소스]

오류가 발생했음을 나타내는 답장 메시지를 작성합니다.

매개변수:
  • error (Error) – 오류가 발생했습니다.

  • ttl (Optional[float] (default: None)) – 이 메시지의 남은 시간(초)입니다. 설정하지 않으면 수신된 메시지가 만료되기 전까지 남은 시간을 기준으로 설정됩니다. 이는 다음과 같은 공식을 따릅니다: ttl = msg.meta.ttl - (reply.meta.created_at - msg.meta.created_at)

반환:

message – A Message containing only the relevant error and metadata.

반환 형식:

Message

create_reply(content: RecordSet, ttl: float | None = None) Message[소스]

지정된 콘텐츠와 TTL을 사용하여 이 메시지에 대한 답글을 작성합니다.

이 메서드는 이 메시지에 대한 응답으로 새로운 ‘메시지’를 생성합니다. 이 메시지에서 ‘run_id’, ‘src_node_id’, ‘dst_node_id’, ‘message_type’을 상속하고 ‘reply_to_message’를 이 메시지의 ID로 설정합니다.

매개변수:
  • content (RecordSet) – 답장 메시지의 콘텐츠입니다.

  • ttl (Optional[float] (default: None)) – 이 메시지의 남은 시간(초)입니다. 설정하지 않으면 수신된 메시지가 만료되기 전까지 남은 시간을 기준으로 설정됩니다. 이는 다음과 같은 공식을 따릅니다: ttl = msg.meta.ttl - (reply.meta.created_at - msg.meta.created_at)

반환:

답장을 나타내는 새로운 메시지 인스턴스입니다.

반환 형식:

Message

property error: Error

이 메시지가 캡처한 오류입니다.

has_content() bool[소스]

메시지에 콘텐츠가 있으면 True을 반환하고, 그렇지 않으면 False을 반환합니다.

has_error() bool[소스]

메시지에 오류가 있으면 True을 반환하고, 그렇지 않으면 False을 반환합니다.

property metadata: Metadata

실행할 메시지에 대한 정보를 포함한 데이터 클래스입니다.