mirror of
https://github.com/appwrite/appwrite
synced 2026-05-24 09:28:40 +00:00
Merge pull request #10369 from appwrite/deploy-fix-queue-health
deploy: fix queue health
This commit is contained in:
commit
571b954587
2 changed files with 16 additions and 22 deletions
|
|
@ -556,12 +556,12 @@ App::get('/v1/health/queue/deletes')
|
||||||
contentType: ContentType::JSON
|
contentType: ContentType::JSON
|
||||||
))
|
))
|
||||||
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
||||||
->inject('publisher')
|
->inject('publisherDeletes')
|
||||||
->inject('response')
|
->inject('response')
|
||||||
->action(function (int|string $threshold, Publisher $publisher, Response $response) {
|
->action(function (int|string $threshold, Publisher $publisherDeletes, Response $response) {
|
||||||
$threshold = \intval($threshold);
|
$threshold = \intval($threshold);
|
||||||
|
|
||||||
$size = $publisher->getQueueSize(new Queue(Event::DELETE_QUEUE_NAME));
|
$size = $publisherDeletes->getQueueSize(new Queue(Event::DELETE_QUEUE_NAME));
|
||||||
|
|
||||||
if ($size >= $threshold) {
|
if ($size >= $threshold) {
|
||||||
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
||||||
|
|
@ -589,12 +589,12 @@ App::get('/v1/health/queue/mails')
|
||||||
contentType: ContentType::JSON
|
contentType: ContentType::JSON
|
||||||
))
|
))
|
||||||
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
||||||
->inject('publisher')
|
->inject('publisherMails')
|
||||||
->inject('response')
|
->inject('response')
|
||||||
->action(function (int|string $threshold, Publisher $publisher, Response $response) {
|
->action(function (int|string $threshold, Publisher $publisherMails, Response $response) {
|
||||||
$threshold = \intval($threshold);
|
$threshold = \intval($threshold);
|
||||||
|
|
||||||
$size = $publisher->getQueueSize(new Queue(Event::MAILS_QUEUE_NAME));
|
$size = $publisherMails->getQueueSize(new Queue(Event::MAILS_QUEUE_NAME));
|
||||||
|
|
||||||
if ($size >= $threshold) {
|
if ($size >= $threshold) {
|
||||||
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
||||||
|
|
@ -622,12 +622,12 @@ App::get('/v1/health/queue/messaging')
|
||||||
contentType: ContentType::JSON
|
contentType: ContentType::JSON
|
||||||
))
|
))
|
||||||
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
->param('threshold', 5000, new Integer(true), 'Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.', true)
|
||||||
->inject('publisher')
|
->inject('publisherMessaging')
|
||||||
->inject('response')
|
->inject('response')
|
||||||
->action(function (int|string $threshold, Publisher $publisher, Response $response) {
|
->action(function (int|string $threshold, Publisher $publisherMessaging, Response $response) {
|
||||||
$threshold = \intval($threshold);
|
$threshold = \intval($threshold);
|
||||||
|
|
||||||
$size = $publisher->getQueueSize(new Queue(Event::MESSAGING_QUEUE_NAME));
|
$size = $publisherMessaging->getQueueSize(new Queue(Event::MESSAGING_QUEUE_NAME));
|
||||||
|
|
||||||
if ($size >= $threshold) {
|
if ($size >= $threshold) {
|
||||||
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
||||||
|
|
|
||||||
|
|
@ -96,20 +96,14 @@ App::setResource('publisherMigrations', function (BrokerPool $publisher) {
|
||||||
App::setResource('publisherStatsUsage', function (BrokerPool $publisher) {
|
App::setResource('publisherStatsUsage', function (BrokerPool $publisher) {
|
||||||
return $publisher;
|
return $publisher;
|
||||||
}, ['publisher']);
|
}, ['publisher']);
|
||||||
App::setResource('consumer', function (Group $pools) {
|
App::setResource('publisherMails', function (BrokerPool $publisher) {
|
||||||
return new BrokerPool(consumer: $pools->get('consumer'));
|
return $publisher;
|
||||||
}, ['pools']);
|
|
||||||
App::setResource('consumerDatabases', function (BrokerPool $consumer) {
|
|
||||||
return $consumer;
|
|
||||||
}, ['consumer']);
|
|
||||||
App::setResource('consumerFunctions', function (BrokerPool $consumer) {
|
|
||||||
return $consumer;
|
|
||||||
}, ['consumer']);
|
|
||||||
App::setResource('consumerMigrations', function (BrokerPool $consumer) {
|
|
||||||
return $consumer;
|
|
||||||
}, ['publisher']);
|
}, ['publisher']);
|
||||||
App::setResource('consumerStatsUsage', function (BrokerPool $consumer) {
|
App::setResource('publisherDeletes', function (BrokerPool $publisher) {
|
||||||
return $consumer;
|
return $publisher;
|
||||||
|
}, ['publisher']);
|
||||||
|
App::setResource('publisherMessaging', function (BrokerPool $publisher) {
|
||||||
|
return $publisher;
|
||||||
}, ['publisher']);
|
}, ['publisher']);
|
||||||
App::setResource('queueForMessaging', function (Publisher $publisher) {
|
App::setResource('queueForMessaging', function (Publisher $publisher) {
|
||||||
return new Messaging($publisher);
|
return new Messaging($publisher);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue