2014-11-19 3 views
1

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

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

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

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

ответ

0

Узел однопоточный. Meteor построен на этом, и он использует вещь под названием «Fibers», которая позволяет имитировать многопоточность для отдельных приложений с резьбой.

имеют Распознать https://meteorhacks.com/fibers-eventloop-and-meteor.html

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

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