Class RateLimits

  • All Implemented Interfaces:
    RateLimitsOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class RateLimits
    extends com.google.protobuf.GeneratedMessageV3
    implements RateLimitsOrBuilder
     Rate limits.
    
     This message determines the maximum rate that tasks can be dispatched by a
     queue, regardless of whether the dispatch is a first task attempt or a retry.
    
     Note: The debugging command,
     [RunTask][google.cloud.tasks.v2beta3.CloudTasks.RunTask], will run a task
     even if the queue has reached its
     [RateLimits][google.cloud.tasks.v2beta3.RateLimits].
     
    Protobuf type google.cloud.tasks.v2beta3.RateLimits
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  RateLimits.Builder
      Rate limits.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Detail

      • MAX_DISPATCHES_PER_SECOND_FIELD_NUMBER

        public static final int MAX_DISPATCHES_PER_SECOND_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_BURST_SIZE_FIELD_NUMBER

        public static final int MAX_BURST_SIZE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_CONCURRENT_DISPATCHES_FIELD_NUMBER

        public static final int MAX_CONCURRENT_DISPATCHES_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getMaxDispatchesPerSecond

        public double getMaxDispatchesPerSecond()
         The maximum rate at which tasks are dispatched from this queue.
        
         If unspecified when the queue is created, Cloud Tasks will pick the
         default.
        
         * For [App Engine queues][google.cloud.tasks.v2beta3.AppEngineHttpQueue],
         the maximum allowed value
           is 500.
        
        
         This field has the same meaning as
         [rate in
         queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
         
        double max_dispatches_per_second = 1;
        Specified by:
        getMaxDispatchesPerSecond in interface RateLimitsOrBuilder
        Returns:
        The maxDispatchesPerSecond.
      • getMaxBurstSize

        public int getMaxBurstSize()
         The max burst size.
        
         Max burst size limits how fast tasks in queue are processed when
         many tasks are in the queue and the rate is high. This field
         allows the queue to have a high rate so processing starts shortly
         after a task is enqueued, but still limits resource usage when
         many tasks are enqueued in a short period of time.
        
         The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
         algorithm is used to control the rate of task dispatches. Each
         queue has a token bucket that holds tokens, up to the maximum
         specified by `max_burst_size`. Each time a task is dispatched, a
         token is removed from the bucket. Tasks will be dispatched until
         the queue's bucket runs out of tokens. The bucket will be
         continuously refilled with new tokens based on
         [max_dispatches_per_second][google.cloud.tasks.v2beta3.RateLimits.max_dispatches_per_second].
        
         The default value of `max_burst_size` is picked by Cloud Tasks
         based on the value of
         [max_dispatches_per_second][google.cloud.tasks.v2beta3.RateLimits.max_dispatches_per_second].
        
         The maximum value of `max_burst_size` is 500.
        
         For App Engine queues that were created or updated using
         `queue.yaml/xml`, `max_burst_size` is equal to
         [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
         If
         [UpdateQueue][google.cloud.tasks.v2beta3.CloudTasks.UpdateQueue] is called
         on a queue without explicitly setting a value for `max_burst_size`,
         `max_burst_size` value will get updated if
         [UpdateQueue][google.cloud.tasks.v2beta3.CloudTasks.UpdateQueue] is
         updating
         [max_dispatches_per_second][google.cloud.tasks.v2beta3.RateLimits.max_dispatches_per_second].
         
        int32 max_burst_size = 2;
        Specified by:
        getMaxBurstSize in interface RateLimitsOrBuilder
        Returns:
        The maxBurstSize.
      • getMaxConcurrentDispatches

        public int getMaxConcurrentDispatches()
         The maximum number of concurrent tasks that Cloud Tasks allows
         to be dispatched for this queue. After this threshold has been
         reached, Cloud Tasks stops dispatching tasks until the number of
         concurrent requests decreases.
        
         If unspecified when the queue is created, Cloud Tasks will pick the
         default.
        
        
         The maximum allowed value is 5,000.
        
        
         This field has the same meaning as
         [max_concurrent_requests in
         queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
         
        int32 max_concurrent_dispatches = 3;
        Specified by:
        getMaxConcurrentDispatches in interface RateLimitsOrBuilder
        Returns:
        The maxConcurrentDispatches.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static RateLimits parseFrom​(ByteBuffer data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RateLimits parseFrom​(ByteBuffer data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RateLimits parseFrom​(com.google.protobuf.ByteString data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RateLimits parseFrom​(com.google.protobuf.ByteString data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RateLimits parseFrom​(byte[] data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RateLimits parseFrom​(byte[] data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RateLimits parseFrom​(com.google.protobuf.CodedInputStream input,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws IOException
        Throws:
        IOException
      • newBuilderForType

        public RateLimits.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public RateLimits.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected RateLimits.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static RateLimits getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<RateLimits> parser()
      • getParserForType

        public com.google.protobuf.Parser<RateLimits> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public RateLimits getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder