ArmoniK.Core

Contents:

  • 1. ArmoniK.Core
  • 2. Quick Start — Local Development
  • 3. Local Deployment of ArmoniK.Core
  • 4. Tests in ArmoniK.Core
  • 5. How to execute tests in ArmoniK.Core?
  • 6. ArmoniK.Core performance tests with HtcMock
  • 7. How to migrate ArmoniK.Core dependencies during upgrade ?
  • 8. Install on Windows — AWS EC2 Virtual Machine
  • 9. Install on Windows 11 (native)
  • 10. Project components
  • 11. Initialization
  • 12. Agent cache
  • 13. NATS JetStream
  • 14. Amazon SQS
  • 15. Google Cloud Pub/Sub
  • 16. Tasks
  • 17. Authentication and Authorization
  • 18. Adaptors
  • 19. RabbitMQ Limitations
  • 20. MongoDB client connection problem
  • 21. Using external plugins with ArmoniK.Core
  • 22. TLS Implementation in the ArmoniK Core
  • 23. Partitions
  • 24. Artemis
  • 25. How to use ArmoniK RPCs
  • 26. Tasks Service RPCs actions
  • 27. Results Service RPCs actions
  • 28. Sessions Service RPCs actions
  • 29. Environment variables
  • 30. API reference
    • 30.1. Namespace ArmoniK
    • 30.2. Namespace ArmoniK.Core
      • 30.2.1. Namespaces
    • 30.3. Namespace ArmoniK.Core.Adapters
    • 30.4. Namespace ArmoniK.Core.Adapters.Amqp
    • 30.5. Class ConnectionAmqp
    • 30.6. Interface IConnectionAmqp
    • 30.7. Class PullQueueStorage
    • 30.8. Class PushQueueStorage
    • 30.9. Class QueueBuilder
    • 30.10. Class QueueMessageHandler
    • 30.11. Class QueueStorage
    • 30.12. Namespace ArmoniK.Core.Adapters.Embed
    • 30.13. Class ObjectBuilder
    • 30.14. Class ObjectStorage
    • 30.15. Namespace ArmoniK.Core.Adapters.Gcs
    • 30.16. Class ObjectBuilder
    • 30.17. Class ObjectStorage
    • 30.18. Namespace ArmoniK.Core.Adapters.Gcs.Options
    • 30.19. Class Gcs
    • 30.20. Namespace ArmoniK.Core.Adapters.LocalStorage
    • 30.21. Class ObjectBuilder
    • 30.22. Class ObjectStorage
    • 30.23. Namespace ArmoniK.Core.Adapters.Memory
    • 30.24. Class ObjectStorage
    • 30.25. Class PushQueueStorage
    • 30.26. Class QueueStorage
    • 30.27. Class ResultTable
    • 30.28. Class ServiceCollectionExt
    • 30.29. Class SessionTable
    • 30.30. Class TaskTable
    • 30.31. Namespace ArmoniK.Core.Adapters.MongoDB
    • 30.32. Class AuthenticationTable
    • 30.33. Class ChangeStreamUpdate
    • 30.34. Namespace ArmoniK.Core.Adapters.MongoDB.Common
    • 30.35. Class BaseTable<TData, TModelMapping>
    • 30.36. Interface IMongoDataModelMapping<T>
    • 30.37. Class MongoCollectionProvider<TData, TModelMapping>
    • 30.38. Class SessionProvider
    • 30.39. Namespace ArmoniK.Core.Adapters.MongoDB.Options
    • 30.40. Class MongoDB
    • 30.41. Class TableStorage
    • 30.42. Class PartitionTable
    • 30.43. Class ResultTable
    • 30.44. Class ResultWatcher
    • 30.45. Class ServiceCollectionExt
    • 30.46. Class SessionTable
    • 30.47. Namespace ArmoniK.Core.Adapters.MongoDB.Table
    • 30.48. Namespace ArmoniK.Core.Adapters.MongoDB.Table.DataModel
    • 30.49. Namespace ArmoniK.Core.Adapters.MongoDB.Table.DataModel.Auth
    • 30.50. Class AuthDataAfterLookup
    • 30.51. Class AuthDataModelMapping
    • 30.52. Class MongoAuthResult
    • 30.53. Class RoleDataModelMapping
    • 30.54. Class UserDataAfterLookup
    • 30.55. Class UserDataModelMapping
    • 30.56. Class IndexHelper
    • 30.57. Class PartitionDataModelMapping
    • 30.58. Class ResultDataModelMapping
    • 30.59. Class SessionDataModelMapping
    • 30.60. Class ShardingExt
    • 30.61. Class TaskDataModelMapping
    • 30.62. Class TaskTable
    • 30.63. Class TaskWatcher
    • 30.64. Class WatchEnumerable<TOutput, TInput>
    • 30.65. Class WatchEnumerator<TOutput, TInput>
    • 30.66. Namespace ArmoniK.Core.Adapters.Nats
    • 30.67. Class Heart
    • 30.68. Class QueueBuilder
    • 30.69. Namespace ArmoniK.Core.Adapters.NullStorage
    • 30.70. Class ObjectBuilder
    • 30.71. Class ObjectStorage
    • 30.72. Namespace ArmoniK.Core.Adapters.PubSub
    • 30.73. Class Heart
    • 30.74. Class QueueBuilder
    • 30.75. Namespace ArmoniK.Core.Adapters.QueueCommon
    • 30.76. Class Amqp
    • 30.77. Class QueueStorageBase
    • 30.78. Namespace ArmoniK.Core.Adapters.Redis
    • 30.79. Class ObjectBuilder
    • 30.80. Class ObjectStorage
    • 30.81. Namespace ArmoniK.Core.Adapters.Redis.Options
    • 30.82. Class Redis
    • 30.83. Namespace ArmoniK.Core.Adapters.S3
    • 30.84. Class ObjectBuilder
    • 30.85. Class ObjectStorage
    • 30.86. Namespace ArmoniK.Core.Adapters.S3.Options
    • 30.87. Class S3
    • 30.88. Namespace ArmoniK.Core.Adapters.SQS
    • 30.89. Class Heart
    • 30.90. Class QueueBuilder
    • 30.91. Namespace ArmoniK.Core.Base
    • 30.92. Namespace ArmoniK.Core.Base.DataStructures
    • 30.93. Enum HealthCheckTag
    • 30.94. Class MessageData
    • 30.95. Class ObjectData
    • 30.96. Class TaskOptions
    • 30.97. Namespace ArmoniK.Core.Base.Exceptions
    • 30.98. Class ArmoniKException
    • 30.99. Class ObjectDataNotFoundException
    • 30.100. Class QueueInsertionFailedException
    • 30.101. Interface IDependencyInjectionBuildable
    • 30.102. Interface IHealthCheckProvider
    • 30.103. Interface IInitializable
    • 30.104. Interface IObjectStorage
    • 30.105. Interface IPullQueueStorage
    • 30.106. Interface IPushQueueStorage
    • 30.107. Interface IQueueMessageHandler
    • 30.108. Interface IQueueStorage
    • 30.109. Enum QueueMessageStatus
    • 30.110. Namespace ArmoniK.Core.Common
    • 30.111. Namespace ArmoniK.Core.Common.Auth
    • 30.112. Namespace ArmoniK.Core.Common.Auth.Authentication
    • 30.113. Class AuthData
    • 30.114. Class AuthenticationCache
    • 30.115. Class AuthenticationCacheKey
    • 30.116. Class Authenticator
    • 30.117. Class AuthenticatorOptions
    • 30.118. Interface IAuthenticationTable
    • 30.119. Class RoleData
    • 30.120. Class UserAuthenticationResult
    • 30.121. Class UserData
    • 30.122. Class UserIdentity
    • 30.123. Namespace ArmoniK.Core.Common.Auth.Authorization
    • 30.124. Class AuthorizationPolicyProvider
    • 30.125. Class GeneralService
    • 30.126. Class IgnoreAuthenticationAttribute
    • 30.127. Class IgnoreAuthorizationAttribute
    • 30.128. Namespace ArmoniK.Core.Common.Auth.Authorization.Permissions
    • 30.129. Class Permission
    • 30.130. Class PermissionScope
    • 30.131. Class ServicesPermissions
    • 30.132. Class RequiresPermissionAttribute
    • 30.133. Namespace ArmoniK.Core.Common.Client
    • 30.134. Class GrpcChannelExt
    • 30.135. Class SessionStats
    • 30.136. Namespace ArmoniK.Core.Common.DynamicLoading
    • 30.137. Class CollocatedAssemblyResolver
    • 30.138. Namespace ArmoniK.Core.Common.Exceptions
    • 30.139. Class InvalidSessionTransitionException
    • 30.140. Class PartitionNotFoundException
    • 30.141. Class ResultInvalidStatusException
    • 30.142. Class ResultNotFoundException
    • 30.143. Class SessionNotFoundException
    • 30.144. Class SubmissionClosedException
    • 30.145. Class TaskAlreadyExistsException
    • 30.146. Class TaskAlreadyInFinalStateException
    • 30.147. Class TaskCanceledException
    • 30.148. Class TaskNotFoundException
    • 30.149. Class TaskPausedException
    • 30.150. Class WorkerDownException
    • 30.151. Class HealthCheckRecord
    • 30.152. Class HealthCheckRecord.Publisher
    • 30.153. Interface IAsyncInitialization<T>
    • 30.154. Namespace ArmoniK.Core.Common.Injection
    • 30.155. Namespace ArmoniK.Core.Common.Injection.Options
    • 30.156. Class AdapterSettings
    • 30.157. Class Components
    • 30.158. Namespace ArmoniK.Core.Common.Injection.Options.Database
    • 30.159. Class Authentication
    • 30.160. Class Certificate
    • 30.161. Class InitDatabase
    • 30.162. Class Partition
    • 30.163. Class Partitioning
    • 30.164. Class Role
    • 30.165. Class User
    • 30.166. Class InitServices
    • 30.167. Class InitWorker
    • 30.168. Class Pollster
    • 30.169. Class Submitter
    • 30.170. Class ServiceCollectionExt
    • 30.171. Namespace ArmoniK.Core.Common.Meter
    • 30.172. Class FunctionExecutionMetrics<TIns>
    • 30.173. Class MeterHolder
    • 30.174. Namespace ArmoniK.Core.Common.Pollster
    • 30.175. Enum AcquisitionStatus
    • 30.176. Class Agent
    • 30.177. Class AgentHandler
    • 30.178. Class AgentIdentifier
    • 30.179. Class DataPrefetcher
    • 30.180. Interface IAgent
    • 30.181. Interface IAgentHandler
    • 30.182. Class Pollster
    • 30.183. Class PostProcessingTaskQueue
    • 30.184. Class PostProcessor
    • 30.185. Class RunningTaskProcessor
    • 30.186. Class RunningTaskQueue
    • 30.187. Class TaskHandler
    • 30.188. Namespace ArmoniK.Core.Common.Pollster.TaskProcessingChecker
    • 30.189. Interface ITaskProcessingChecker
    • 30.190. Class TaskProcessingCheckerClient
    • 30.191. Class TaskQueueBase
    • 30.192. Namespace ArmoniK.Core.Common.StateMachines
    • 30.193. Class ProcessReplyCreateLargeTaskStateMachine
    • 30.194. Enum ProcessReplyCreateLargeTaskStateMachine.State
    • 30.195. Enum ProcessReplyCreateLargeTaskStateMachine.Triggers
    • 30.196. Namespace ArmoniK.Core.Common.Storage
    • 30.197. Class Application
    • 30.198. Namespace ArmoniK.Core.Common.Storage.Events
    • 30.199. Interface IResultWatcher
    • 30.200. Interface ITaskWatcher
    • 30.201. Class NewResult
    • 30.202. Class NewTask
    • 30.203. Class ResultOwnerUpdate
    • 30.204. Class ResultStatusUpdate
    • 30.205. Class TaskStatusUpdate
    • 30.206. Interface IPartitionTable
    • 30.207. Interface IResultTable
    • 30.208. Class IResultTable.ChangeResultOwnershipRequest
    • 30.209. Interface ISessionTable
    • 30.210. Interface ITaskTable
    • 30.211. Class MaskedProjection
    • 30.212. Class Output
    • 30.213. Enum OutputStatus
    • 30.214. Class PartitionData
    • 30.215. Class PartitionTaskStatusCount
    • 30.216. Class PodConfiguration
    • 30.217. Class QueueMessageHandlerExt
    • 30.218. Class Result
    • 30.219. Class ResultCreationRequest
    • 30.220. Class ResultIdStatus
    • 30.221. Class ResultLifeCycleHelper
    • 30.222. Enum ResultStatus
    • 30.223. Class ResultTableExtensions
    • 30.224. Class SessionData
    • 30.225. Class SessionLifeCycleHelper
    • 30.226. Enum SessionStatus
    • 30.227. Class SessionTableExtensions
    • 30.228. Class TaskCreationRequest
    • 30.229. Class TaskData
    • 30.230. Enum TaskDataFields
    • 30.231. Class TaskDataHolder
    • 30.232. Class TaskDataMask
    • 30.233. Class TaskIdStatus
    • 30.234. Class TaskInfo
    • 30.235. Class TaskLifeCycleHelper
    • 30.236. Enum TaskOptionsFields
    • 30.237. Class TaskOptionsHolder
    • 30.238. Enum TaskStatus
    • 30.239. Class TaskStatusCount
    • 30.240. Class TaskSubmissionRequest
    • 30.241. Class TaskTableExtensions
    • 30.242. Class UpdateDefinition<T>
    • 30.243. Class UpdateDefinition<T>.PropertySet
    • 30.244. Namespace ArmoniK.Core.Common.Stream
    • 30.245. Namespace ArmoniK.Core.Common.Stream.Worker
    • 30.246. Interface IWorkerStreamHandler
    • 30.247. Class WorkerStreamHandler
    • 30.248. Namespace ArmoniK.Core.Common.Utils
    • 30.249. Class ActivityExt
    • 30.250. Class ActivitySourceExt
    • 30.251. Class ExceptionManager
    • 30.252. Class ExceptionManager.Options
    • 30.253. Class ExpressionsBuilders
    • 30.254. Class FileExt
    • 30.255. Class LocalIpFinder
    • 30.256. Class LoggerInit
    • 30.257. Class RendezvousChannel<T>
    • 30.258. Class ReplaceExpressionVisitor
    • 30.259. Class ReplaceParameterVisitor
    • 30.260. Namespace ArmoniK.Core.Common.gRPC
    • 30.261. Namespace ArmoniK.Core.Common.gRPC.Convertors
    • 30.262. Class OutputExt
    • 30.263. Class ResultExt
    • 30.264. Class ResultStatusExt
    • 30.265. Class SessionDataExt
    • 30.266. Class SessionStatusExt
    • 30.267. Class SessionTableExt
    • 30.268. Class TaskDataHolderExt
    • 30.269. Class TaskOptionsExt
    • 30.270. Class TaskStatusCountExt
    • 30.271. Class TaskStatusExt
    • 30.272. Class TaskTableExt
    • 30.273. Class EnumFieldExt
    • 30.274. Class ExceptionInterceptor
    • 30.275. Class ExpressionBuilders
    • 30.276. Class ExpressionExt
    • 30.277. Class FilterRangeExt
    • 30.278. Class GrpcHealthCheckServiceBase
    • 30.279. Class ListApplicationsRequestExt
    • 30.280. Class ListPartitionsRequestExt
    • 30.281. Class ListResultsRequestExt
    • 30.282. Class ListSessionsRequestExt
    • 30.283. Class ListTasksRequestExt
    • 30.284. Namespace ArmoniK.Core.Common.gRPC.Services
    • 30.285. Class GrpcAgentService
    • 30.286. Class GrpcApplicationsService
    • 30.287. Class GrpcAuthService
    • 30.288. Class GrpcEventsService
    • 30.289. Class GrpcHealthChecksService
    • 30.290. Class GrpcPartitionsService
    • 30.291. Class GrpcResultsService
    • 30.292. Class GrpcSessionsService
    • 30.293. Class GrpcSubmitterExtensions
    • 30.294. Class GrpcSubmitterService
    • 30.295. Class GrpcTasksService
    • 30.296. Class GrpcVersionsService
    • 30.297. Interface ISubmitter
    • 30.298. Class Submitter
    • 30.299. Class TaskRequest
    • 30.300. Class WatchToGrpc
    • 30.301. Class SessionFilterExt
    • 30.302. Class TaskFilterExt
    • 30.303. Namespace ArmoniK.Core.Common.gRPC.Validators
    • 30.304. Class CancelTasksRequestValidator
    • 30.305. Class CreateLargeTaskRequestValidator
    • 30.306. Class CreateSessionRequestValidator
    • 30.307. Class CreateSmallTaskRequestValidator
    • 30.308. Class CreateSmallTaskRequestValidator.TaskRequestValidator
    • 30.309. Class EventSubscriptionRequestValidator
    • 30.310. Class ListApplicationsRequestValidator
    • 30.311. Class ListPartitionsRequestValidator
    • 30.312. Class ListResultsRequestValidator
    • 30.313. Class ListSessionsRequestValidator
    • 30.314. Class ListTasksRequestValidator
    • 30.315. Class SessionFilterValidator
    • 30.316. Namespace ArmoniK.Core.Common.gRPC.Validators.SessionsService
    • 30.317. Class CreateSessionRequestValidator
    • 30.318. Class SubmitTasksRequestValidator
    • 30.319. Class TaskFilterValidator
    • 30.320. Class TaskOptionsValidator
    • 30.321. Namespace ArmoniK.Core.Compute
    • 30.322. Namespace ArmoniK.Core.Compute.PollingAgent
    • 30.323. Class Program
    • 30.324. Class Worker
    • 30.325. Namespace ArmoniK.Core.Control
    • 30.326. Namespace ArmoniK.Core.Control.Metrics
    • 30.327. Class ArmoniKMeter
    • 30.328. Namespace ArmoniK.Core.Control.Metrics.Options
    • 30.329. Class MetricsExporter
    • 30.330. Class Program
    • 30.331. Namespace ArmoniK.Core.Control.Submitter
    • 30.332. Class GrpcHealthCheckService
    • 30.333. Class Program
    • 30.334. Namespace ArmoniK.Core.ProfilingTools
    • 30.335. Namespace ArmoniK.Core.ProfilingTools.OpenTelemetryExporter
    • 30.336. Class ActivityExt
    • 30.337. Class MongoExporterHelperExtensions
    • 30.338. Class MongoExporterOptions
    • 30.339. Class OpenTelemetryData
    • 30.340. Class OpenTelemetryDataModelMapping
    • 30.341. Namespace ArmoniK.Core.Tests
    • 30.342. Namespace ArmoniK.Core.Tests.Queue
    • 30.343. Class QueueStorageTests
    • 30.344. Namespace ArmoniK.Core.Tests.UploadBench
    • 30.345. Namespace ArmoniK.Core.Tests.UploadBench.Options
    • 30.346. Class UploadBench
    • 30.347. Class UploadBenchClient
    • 30.348. Namespace ArmoniK.Core.Utils
    • 30.349. Class ByteArrayComparer
    • 30.350. Class CertificateValidator
    • 30.351. Class ConfigurationExt
    • 30.352. Class HealthCheck
    • 30.353. Class HealthCheckResultCombiner
    • 30.354. Class LoggerExt
    • 30.355. Class QueryableExt
    • 30.356. Class ServiceCollectionExt
    • 30.357. Namespace ArmoniK.Samples
    • 30.358. Namespace ArmoniK.Samples.Bench
    • 30.359. Namespace ArmoniK.Samples.Bench.Client
    • 30.360. Class ExecutionStats
    • 30.361. Namespace ArmoniK.Samples.Bench.Client.Options
    • 30.362. Class BenchOptions
    • 30.363. Namespace ArmoniK.Samples.Bench.Server
    • 30.364. Class BenchComputerService
    • 30.365. Namespace ArmoniK.Samples.CrashingWorker
    • 30.366. Namespace ArmoniK.Samples.CrashingWorker.Client
    • 30.367. Namespace ArmoniK.Samples.CrashingWorker.Client.Options
    • 30.368. Class CrashingWorkerOptions
    • 30.369. Namespace ArmoniK.Samples.CrashingWorker.Server
    • 30.370. Class CrashingService
    • 30.371. Namespace ArmoniK.Samples.HtcMock
    • 30.372. Namespace ArmoniK.Samples.HtcMock.Client
    • 30.373. Class GridClient
    • 30.374. Class HtcMockClient
    • 30.375. Namespace ArmoniK.Samples.HtcMock.Client.Options
    • 30.376. Class HtcMock
    • 30.377. Class SessionClient
    • 30.378. Namespace ArmoniK.Samples.HtcMock.Server
    • 30.379. Class SampleComputerService
    • 30.380. Class Program
ArmoniK.Core
  • 30. API reference
  • 30.2. Namespace ArmoniK.Core
  • Edit on GitHub

30.2. Namespace ArmoniK.Core

30.2.1. Namespaces

ArmoniK.Core.Adapters

ArmoniK.Core.Base

ArmoniK.Core.Common

ArmoniK.Core.Compute

ArmoniK.Core.Control

ArmoniK.Core.ProfilingTools

ArmoniK.Core.Tests

ArmoniK.Core.Utils

Previous Next

© Copyright 2021-2026, ANEO.

Built with Sphinx using a theme provided by Read the Docs.