modifyAckDeadline method
Modifies the ack deadline for a specific message. This method is useful
to indicate that more time is needed to process a message by the
subscriber, or to make the message available for redelivery if the
processing was interrupted. Note that this does not modify the
subscription-level ackDeadlineSeconds
used for subsequent messages.
The subscription
name can be just the simple name or it can be the fully
quantified name in the format:
projects/{project}/subscriptions/{subscription}
.
Implementation
Future<void> modifyAckDeadline({
required int ackDeadlineSeconds,
required Iterable<String> ackIds,
int retries = 5,
required String subscription,
}) async {
assert(_initialized);
_logger.fine('[modifyAckDeadline]: start -- [$subscription]');
try {
await _execute<Empty>(
executor: () async {
return await _pubsubApi.projects.subscriptions.modifyAckDeadline(
ModifyAckDeadlineRequest(
ackDeadlineSeconds: ackDeadlineSeconds,
ackIds: ackIds.toList(),
),
subscription.startsWith('projects/')
? subscription
: 'projects/$_projectId/subscriptions/$subscription',
);
},
retries: retries,
);
} finally {
_logger.fine('[modifyAckDeadline]: complete -- [$subscription]');
}
}