-
Notifications
You must be signed in to change notification settings - Fork 97
Expand file tree
/
Copy pathQueueingServiceExamples.fs
More file actions
121 lines (107 loc) · 4.69 KB
/
Copy pathQueueingServiceExamples.fs
File metadata and controls
121 lines (107 loc) · 4.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
module QueueingServiceExamples
open System
open System.Threading
open System.Threading.Tasks
open net.openstack.Core
open net.openstack.Core.Collections
open net.openstack.Core.Domain
open net.openstack.Core.Domain.Queues
open net.openstack.Core.Providers
open net.openstack.Providers.Rackspace
let identity = new CloudIdentity (Username = "MyUser", APIKey = "API_KEY_HERE")
let region : string = null
let clientId = Guid.NewGuid()
let internalUrl = false
let identityProvider : IIdentityProvider = null
let getHomeAsyncAwait =
async {
//#region GetHomeAsync (await)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let! homeDocument = queueingService.GetHomeAsync(CancellationToken.None) |> Async.AwaitTask
//#endregion
()
}
let getHome =
//#region GetHomeAsync (TPL)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let task = queueingService.GetHomeAsync(CancellationToken.None)
//#endregion
()
let getNodeHealthAsyncAwait =
async {
//#region GetNodeHealthAsync (await)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
queueingService.GetNodeHealthAsync(CancellationToken.None) |> Async.AwaitIAsyncResult |> ignore
//#endregion
()
}
let getNodeHealth =
//#region GetNodeHealthAsync (TPL)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let task = queueingService.GetNodeHealthAsync(CancellationToken.None)
//#endregion
()
let createQueueAsyncAwait =
async {
//#region CreateQueueAsync (await)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let queueName = new QueueName("ExampleQueue")
let! createdQueue = queueingService.CreateQueueAsync(queueName, CancellationToken.None) |> Async.AwaitTask
//#endregion
()
}
let createQueue =
//#region CreateQueueAsync (TPL)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let queueName = new QueueName("ExampleQueue")
let task = queueingService.CreateQueueAsync(queueName, CancellationToken.None)
//#endregion
()
let deleteQueueAsyncAwait =
async {
//#region DeleteQueueAsync (await)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let queueName = new QueueName("ExampleQueue")
queueingService.DeleteQueueAsync(queueName, CancellationToken.None) |> Async.AwaitIAsyncResult |> ignore
//#endregion
()
}
let deleteQueue =
//#region DeleteQueueAsync (TPL)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let queueName = new QueueName("ExampleQueue")
let task = queueingService.DeleteQueueAsync(queueName, CancellationToken.None)
//#endregion
()
let listQueuesAsyncAwait =
async {
//#region ListQueuesAsync (await)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let! queuesPage = queueingService.ListQueuesAsync(null, Nullable(), true, CancellationToken.None) |> Async.AwaitTask
let! queues = queuesPage.GetAllPagesAsync(CancellationToken.None, null) |> Async.AwaitTask
//#endregion
()
}
let listQueues =
//#region ListQueuesAsync (TPL)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let queuesPageTask = queueingService.ListQueuesAsync(null, Nullable(), true, CancellationToken.None)
let queuesTask = queuesPageTask.ContinueWith(fun (task:Task<ReadOnlyCollectionPage<CloudQueue>>) -> task.Result.GetAllPagesAsync(CancellationToken.None, null)) |> TaskExtensions.Unwrap
//#endregion
()
let queueExistsAsyncAwait =
async {
//#region QueueExistsAsync (await)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let queueName = new QueueName("ExampleQueue")
let! exists = queueingService.QueueExistsAsync(queueName, CancellationToken.None) |> Async.AwaitTask
//#endregion
()
}
let queueExists =
//#region QueueExistsAsync (TPL)
let queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider)
let queueName = new QueueName("ExampleQueue")
let task = queueingService.QueueExistsAsync(queueName, CancellationToken.None)
//#endregion
()