Skip to content

SendClient#

Bases: Container

SendClient wrapper class.

Source code in pubtools/sign/clients/msg_send_client.py
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
class SendClient(Container):
    """SendClient wrapper class."""

    def __init__(
        self,
        messages: List[MsgMessage],
        broker_urls: List[str],
        cert: str,
        ca_cert: str,
        retries: int,
        errors: List[MsgError],
        **kwargs: Dict[str, Any],
    ) -> None:
        """Send Client Initializer.

        Args:
            messages (List[MsgMessage]): List of messages to send.
            broker_urls (List[str]): List of addresses of messaging broker.
            cert (str): Path to messaging client key and certificate in PEM format.
            ca_cert (str): Path to messaging CA certificate.
            retries (int): Number of retries for sending messages.
            errors (List[MsgError]): List of errors which occurred during the process.
        """
        self.messages = messages
        self.handler = _SendClient(
            messages=messages, broker_urls=broker_urls, cert=cert, ca_cert=ca_cert, errors=errors
        )
        self._retries = retries
        self._errors = errors
        super().__init__(self.handler, **kwargs)

    def run(self) -> List[MsgError]:  # type: ignore[override]
        """Run the SendClient.

        Returns:
            List[MsgError]: List of errors that occurred during sending messages.
        """
        errors_len = 0
        if not len(self.messages):
            LOG.warning("No messages to send")
            return []
        for x in range(self._retries):
            super().run()
            if len(self._errors) == errors_len:
                break
            errors_len = len(self._errors)
        else:
            return self._errors
        return []

__init__(messages, broker_urls, cert, ca_cert, retries, errors, **kwargs) #

Send Client Initializer.

Parameters:

Name Type Description Default
messages List[MsgMessage]

List of messages to send.

required
broker_urls List[str]

List of addresses of messaging broker.

required
cert str

Path to messaging client key and certificate in PEM format.

required
ca_cert str

Path to messaging CA certificate.

required
retries int

Number of retries for sending messages.

required
errors List[MsgError]

List of errors which occurred during the process.

required
Source code in pubtools/sign/clients/msg_send_client.py
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
def __init__(
    self,
    messages: List[MsgMessage],
    broker_urls: List[str],
    cert: str,
    ca_cert: str,
    retries: int,
    errors: List[MsgError],
    **kwargs: Dict[str, Any],
) -> None:
    """Send Client Initializer.

    Args:
        messages (List[MsgMessage]): List of messages to send.
        broker_urls (List[str]): List of addresses of messaging broker.
        cert (str): Path to messaging client key and certificate in PEM format.
        ca_cert (str): Path to messaging CA certificate.
        retries (int): Number of retries for sending messages.
        errors (List[MsgError]): List of errors which occurred during the process.
    """
    self.messages = messages
    self.handler = _SendClient(
        messages=messages, broker_urls=broker_urls, cert=cert, ca_cert=ca_cert, errors=errors
    )
    self._retries = retries
    self._errors = errors
    super().__init__(self.handler, **kwargs)

run() #

Run the SendClient.

Returns:

Type Description
List[MsgError]

List[MsgError]: List of errors that occurred during sending messages.

Source code in pubtools/sign/clients/msg_send_client.py
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
def run(self) -> List[MsgError]:  # type: ignore[override]
    """Run the SendClient.

    Returns:
        List[MsgError]: List of errors that occurred during sending messages.
    """
    errors_len = 0
    if not len(self.messages):
        LOG.warning("No messages to send")
        return []
    for x in range(self._retries):
        super().run()
        if len(self._errors) == errors_len:
            break
        errors_len = len(self._errors)
    else:
        return self._errors
    return []