Data Subscriptions: Maintenance Operations
This page covers data subscriptions maintenance operations:
Deletion
Dropping Connection
Disabling subscription
Enabling subscription
Updating subscription
Getting subscription status
DocumentSubscriptions class
Deletion
This operation can be very useful in ad-hoc subscription scenarios when a lot of subscriptions tasks information may accumulate, making tasks management very hard.
void Delete(string name, string database = null);
Task DeleteAsync(string name, string database = null, CancellationToken token = default);
usage:
store.Subscriptions.Delete(subscriptionName);
Dropping connection
Subscription connections with workers can be dropped remotely.
A dropped worker will not try to reconnect to the server.
void DropConnection(string name, string database = null);
Task DropConnectionAsync(string name, string database = null, CancellationToken token = default);
usage:
store.Subscriptions.DropConnection(subscriptionName);
Disabling subscription
Existing subscriptions can be disabled remotely.
void Disable(string name, string database = null);
Task DisableAsync(string name, string database = null, CancellationToken token = default);
usage:
store.Subscriptions.Disable(subscriptionName);
Enabling subscription
Existing subscriptions can be enabled remotely.
This operation can be useful for already disabled subscriptions. A newly created subscription is enabled initially.
void Enable(string name, string database = null);
Task EnableAsync(string name, string database = null, CancellationToken token = default);
usage:
store.Subscriptions.Enable(subscriptionName);
Updating subscription
See example and API description.
string Update(SubscriptionUpdateOptions options, string database = null);
Task<string> UpdateAsync(SubscriptionUpdateOptions options, string database = null,
CancellationToken token = default);
Getting subscription status
SubscriptionState GetSubscriptionState(string subscriptionName, string database = null);
Task<SubscriptionState> GetSubscriptionStateAsync(string subscriptionName, string database = null, CancellationToken token = default);
usage:
var subscriptionState = store.Subscriptions.GetSubscriptionState(subscriptionName);
SubscriptionState
Member | Type | Description | |
---|---|---|---|
Query | string |
Subscription's RQL like query. | |
LastBatchAckTime | DateTime? |
Last time a batch processing progress was acknowledged. | |
NodeTag | string |
Processing server's node tag | |
MentorNode | string |
The mentor node that was manually set. | |
SubscriptionName | string |
Subscription's name, and also it's unique identifier | |
SubscriptionId | long |
Subscription's internal identifier (cluster's operation etag during subscription creation) | |
ChangeVectorForNextBatchStartingPoint | string |
Change vector, starting from which the subscription will send documents. This value is updated manually, or automatically on batch acknowledgment | |
Disabled | bool |
If true, subscription will not allow workers to connect | |
LastClientConnectionTime | DateTime? |
Time when last client was connected (value sustained after disconnection) |
DocumentSubscriptions class
DocumentSubscriptions
class is the class that manages all interaction with the data subscriptions.The class is available through
DocumentStore
's Subscriptions
property.
Method Signature | Return type | Description |
---|---|---|
Create |
string |
Creates a new data subscription. |
Create(SubscriptionCreationOptions criteria, string database) | string |
Creates a new data subscription. |
Create(SubscriptionCreationOptions criteria, string database) | string |
Creates a new data subscription. |
CreateAsync |
Task<string> |
Creates a new data subscription. |
CreateAsync |
Task<string> |
Creates a new data subscription. |
Delete(string name, string database) | void |
Deletes subscription. |
DeleteAsync(string name, string database) | Task |
Deletes subscription. |
DropConnection(string name, string database) | void |
Drops existing subscription connection with worker. |
DropConnectionAsync(string name, string database) | Task |
Drops existing subscription connection with worker. |
Enable(string name, string database) | void |
Enables existing subscription. |
EnableAsync(string name, string database) | Task |
Enables existing subscription. |
Disable(string name, string database) | void |
Disables existing subscription. |
DisableAsync(string name, string database) | Task |
Disables existing subscription. |
GetSubscriptions(int start, int take, string database) | List<SubscriptionState> |
Returns subscriptions list. |
GetSubscriptionsAsync(int start, int take, string database) | Task<List<SubscriptionState>> |
Returns subscriptions list. |
GetSubscriptionState(string subscriptionName, string database) | SubscriptionState |
Get specific subscription state. |
GetSubscriptionStateAsync(string subscriptionName, string database) | Task<SubscriptionState> |
Get specific subscription state. |
GetSubscriptionWorker |
SubscriptionWorker<T> |
Generates a subscription worker, using default configurations, that processes documents deserialized to T type . |
GetSubscriptionWorker(string subscriptionName, string database) | SubscriptionWorker<dynamic> |
Generates a subscription worker, using default configurations, that processes documents in it's raw BlittableJsonReader , wrapped by dynamic object. |
GetSubscriptionWorker(SubscriptionWorkerOptions options, string database) | SubscriptionWorker<T> |
Generates a subscription worker, using default configurations, that processes documents deserialized to T type . |
GetSubscriptionWorker(SubscriptionWorkerOptions options, string database) | SubscriptionWorker<dynamic> |
Generates a subscription worker, using default configurations, that processes documents in it's raw BlittableJsonReader , wrapped by dynamic object. |
Update(SubscriptionUpdateOptions options, string database = null) | string |
Updates an existing data subscription. |
UpdateAsync(SubscriptionUpdateOptions options, string database = null, CancellationToken token = default) | Task<string> |
Updates an existing data subscription. |