Можете ли вы определить приоритет задачи?

Я хочу придать более высокий приоритет некоторым задачам, которые я выполняю в своем приложении Meteor. Я не хочу масштабировать приложение на данный момент.

Я хочу, чтобы иметь возможность обрабатывать онлайн-платежи, и я должен вставить соответствующие данные в базу данных, я не хочу ждать слишком долго для этой операции (при условии, что сервер в качестве постоянной высокой нагрузки). Я хочу написать функцию, которая получит более высокий приоритет выполнения по сравнению с остальными И то же самое относится к работе с базой данных.

Поэтому, когда я пытаюсь сохранить в Монго: Payments.insert(paymentData)Этот метод является синхронизированным, но это не главное, я хочу, чтобы эта вставка имела высший приоритет над любыми операциями с базой данных.

Как я могу сделать это с одним приложением Meteor?

1 ответ

Узел однопоточный. Метеор построен на этом, и он использует вещь под названием "Волокна", которая полу симулирует многопоточность для однопоточных приложений.

прочитайте https://meteorhacks.com/fibers-eventloop-and-meteor.html

Первое, что вы увидите, это отсутствие концепции приоритета выполнения. Вы можете изменить количество запросов, которые один клиент будет обрабатывать по сравнению с другим клиентом, в зависимости от того, обрабатывает ли он платеж.

Тем не менее, если узел находится под высокой нагрузкой, как вы утверждаете, я не думаю, что вы действительно можете помочь ему слишком много, если он не может идти в ногу.

Другие вопросы по тегам