Class: Appwrite::Health

Inherits:
Service show all
Defined in:
lib/appwrite/services/health.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Health

Returns a new instance of Health.



6
7
8
# File 'lib/appwrite/services/health.rb', line 6

def initialize(client)
    @client = client
end

Instance Method Details

#get ⇒ HealthStatus

Check the Appwrite HTTP server is up and responsive.

Returns:

  • (HealthStatus)


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/appwrite/services/health.rb', line 14

def get()
    api_path = '/health'

    api_params = {
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthStatus
    )

end

#get_antivirus ⇒ HealthAntivirus

Check the Appwrite Antivirus server is up and connection is successful.

Returns:

  • (HealthAntivirus)


38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/appwrite/services/health.rb', line 38

def get_antivirus()
    api_path = '/health/anti-virus'

    api_params = {
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthAntivirus
    )

end

#get_audits_db ⇒ HealthStatusList

Check the database that backs the audit and activity store. When the connection is reachable the endpoint returns a passing status with its response time.

Returns:

  • (HealthStatusList)


65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/appwrite/services/health.rb', line 65

def get_audits_db()
    api_path = '/health/audits-db'

    api_params = {
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthStatusList
    )

end

#get_cache ⇒ HealthStatusList

Check the Appwrite in-memory cache servers are up and connection is successful.

Returns:

  • (HealthStatusList)


90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/appwrite/services/health.rb', line 90

def get_cache()
    api_path = '/health/cache'

    api_params = {
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthStatusList
    )

end

#get_certificate(domain: nil) ⇒ HealthCertificate

Get the SSL certificate for a domain

Parameters:

  • domain (String) (defaults to: nil) —

    string

Returns:

  • (HealthCertificate)


115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/appwrite/services/health.rb', line 115

def get_certificate(domain: nil)
    api_path = '/health/certificate'

    api_params = {
        domain: domain,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthCertificate
    )

end

#get_console_pausing(threshold: nil, inactivity_days: nil) ⇒ HealthStatus

Get console pausing health status. Monitors projects approaching the pause threshold to detect potential issues with console access tracking.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Percentage threshold of projects approaching pause. When hit (equal or higher), endpoint returns server error. Default value is 10.

  • inactivity_days (Integer) (defaults to: nil) —

    Number of days of inactivity before a project is paused. Should match the plan's projectInactivityDays setting. Default value is 7.

Returns:

  • (HealthStatus)


144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/appwrite/services/health.rb', line 144

def get_console_pausing(threshold: nil, inactivity_days: nil)
    api_path = '/health/console-pausing'

    api_params = {
        threshold: threshold,
        inactivityDays: inactivity_days,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthStatus
    )

end

#get_db ⇒ HealthStatusList

Check the Appwrite database servers are up and connection is successful.

Returns:

  • (HealthStatusList)


170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/appwrite/services/health.rb', line 170

def get_db()
    api_path = '/health/db'

    api_params = {
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthStatusList
    )

end

#get_failed_jobs(name:, threshold: nil) ⇒ HealthQueue

Returns the amount of failed jobs in a given queue.

Parameters:

  • name (HealthQueueName) —

    The name of the queue

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
# File 'lib/appwrite/services/health.rb', line 360

def get_failed_jobs(name:, threshold: nil)
    api_path = '/health/queue/failed/{name}'
        .gsub('{name}', name)

    if name.nil?
      raise Appwrite::Exception.new('Missing required parameter: "name"')
    end

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_pub_sub ⇒ HealthStatusList

Check the Appwrite pub-sub servers are up and connection is successful.

Returns:

  • (HealthStatusList)


194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'lib/appwrite/services/health.rb', line 194

def get_pub_sub()
    api_path = '/health/pubsub'

    api_params = {
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthStatusList
    )

end

#get_queue_audits(threshold: nil) ⇒ HealthQueue

Get the number of audit logs that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
# File 'lib/appwrite/services/health.rb', line 221

def get_queue_audits(threshold: nil)
    api_path = '/health/queue/audits'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_builds(threshold: nil) ⇒ HealthQueue

Get the number of builds that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
# File 'lib/appwrite/services/health.rb', line 248

def get_queue_builds(threshold: nil)
    api_path = '/health/queue/builds'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_certificates(threshold: nil) ⇒ HealthQueue

Get the number of certificates that are waiting to be issued against Letsencrypt in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
# File 'lib/appwrite/services/health.rb', line 276

def get_queue_certificates(threshold: nil)
    api_path = '/health/queue/certificates'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_databases(name: nil, threshold: nil) ⇒ HealthQueue

Get the number of database changes that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • name (String) (defaults to: nil) —

    Queue name for which to check the queue size

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
# File 'lib/appwrite/services/health.rb', line 304

def get_queue_databases(name: nil, threshold: nil)
    api_path = '/health/queue/databases'

    api_params = {
        name: name,
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_deletes(threshold: nil) ⇒ HealthQueue

Get the number of background destructive changes that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
# File 'lib/appwrite/services/health.rb', line 332

def get_queue_deletes(threshold: nil)
    api_path = '/health/queue/deletes'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_functions(threshold: nil) ⇒ HealthQueue

Get the number of function executions that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
# File 'lib/appwrite/services/health.rb', line 392

def get_queue_functions(threshold: nil)
    api_path = '/health/queue/functions'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_logs(threshold: nil) ⇒ HealthQueue

Get the number of logs that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
# File 'lib/appwrite/services/health.rb', line 419

def get_queue_logs(threshold: nil)
    api_path = '/health/queue/logs'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_mails(threshold: nil) ⇒ HealthQueue

Get the number of mails that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
# File 'lib/appwrite/services/health.rb', line 446

def get_queue_mails(threshold: nil)
    api_path = '/health/queue/mails'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_messaging(threshold: nil) ⇒ HealthQueue

Get the number of messages that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
# File 'lib/appwrite/services/health.rb', line 473

def get_queue_messaging(threshold: nil)
    api_path = '/health/queue/messaging'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_migrations(threshold: nil) ⇒ HealthQueue

Get the number of migrations that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
# File 'lib/appwrite/services/health.rb', line 500

def get_queue_migrations(threshold: nil)
    api_path = '/health/queue/migrations'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_stats_resources(threshold: nil) ⇒ HealthQueue

Get the number of metrics that are waiting to be processed in the Appwrite stats resources queue.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
# File 'lib/appwrite/services/health.rb', line 527

def get_queue_stats_resources(threshold: nil)
    api_path = '/health/queue/stats-resources'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_usage(threshold: nil) ⇒ HealthQueue

Get the number of metrics that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
# File 'lib/appwrite/services/health.rb', line 554

def get_queue_usage(threshold: nil)
    api_path = '/health/queue/stats-usage'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_queue_webhooks(threshold: nil) ⇒ HealthQueue

Get the number of webhooks that are waiting to be processed in the Appwrite internal queue server.

Parameters:

  • threshold (Integer) (defaults to: nil) —

    Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

Returns:

  • (HealthQueue)


581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
# File 'lib/appwrite/services/health.rb', line 581

def get_queue_webhooks(threshold: nil)
    api_path = '/health/queue/webhooks'

    api_params = {
        threshold: threshold,
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthQueue
    )

end

#get_storage ⇒ HealthStatus

Check the Appwrite storage device is up and connection is successful.

Returns:

  • (HealthStatus)


606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
# File 'lib/appwrite/services/health.rb', line 606

def get_storage()
    api_path = '/health/storage'

    api_params = {
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthStatus
    )

end

#get_storage_local ⇒ HealthStatus

Check the Appwrite local storage device is up and connection is successful.

Returns:

  • (HealthStatus)


630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
# File 'lib/appwrite/services/health.rb', line 630

def get_storage_local()
    api_path = '/health/storage/local'

    api_params = {
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthStatus
    )

end

#get_time ⇒ HealthTime

Check the Appwrite server time is synced with Google remote NTP server. We use this technology to smoothly handle leap seconds with no disruptive events. The Network Time Protocol (NTP) is used by hundreds of millions of computers and devices to synchronize their clocks over the Internet. If your computer sets its own clock, it likely uses NTP.

Returns:

  • (HealthTime)


660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
# File 'lib/appwrite/services/health.rb', line 660

def get_time()
    api_path = '/health/time'

    api_params = {
    }
    
    api_headers = {
        "X-Appwrite-Project": @client.get_config('project'),
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::HealthTime
    )

end