Ответ 1
FWIW, я еще не принимаю свой ответ, я собираюсь объяснить, что я решил и почему. Если я не получу ответов, которые кажутся лучше, чем я решил, я приму свое позднее.
Я решил о Кью. Он поддерживает несколько рабочих, работающих асинхронно, и с кластером он может использовать многоядерные системы. Он легко распространяется для обеспечения безопасности. Он поддерживал Redis, который используется повсюду для этой конкретной вещи, поэтому я знаю, что я не поддерживаю свой сервер рабочих процессов с помощью недоказанного программного обеспечения (что не означает, что любой из них недоказан.)
Наиболее вескими причинами, которые я выбрал Kue, является то, что он предоставляет JSON api, так что клиентские приложения (первый клиент будет веб-приложением, но мы также планируем создавать приложения для смартфонов) могут добавлять задания легко, без прохождения основного приложения, обращенного к экземпляру node, поэтому я могу быть полностью в стороне от остальной части моей команды, когда я пишу это. Мне не нужен маршрут, мне ничего не нужно, и все это предусмотрено для меня, поэтому мне не нужно ничего писать, чтобы поддержать это. Это имеет еще одно преимущество: с расширением для обеспечения безопасности l/p только авторизованные клиенты могут добавлять задания, поэтому я не должен подвергать свой redis сервер клиентским приложениям напрямую. Он также имеет встроенную веб-консоль, и API позволяет клиенту легко отбирать списки заданий, связанных с данным пользователем, поэтому мы можем показать пользователю все свои запланированные задачи в отличном календарном представлении с 0 усилием с моей стороны,
Другая убедительная причина - отсутствие крутой кривой обучения, связанной с получением redis и Kue для меня. Я настроил redis раньше, и Kue прост и эффективен.
Да, я ленивый разработчик, но я хороший тип ленивого разработчика.
UPDATE:
У меня есть работа и работа, производительность потрясающая. Я разделил логику маршалинга задачи на свой собственный экземпляр node, в основном все, что мне нужно сделать, это развернуть мое репо на новый компьютер и запустить node task-server.js, чтобы уменьшить мои рабочие. Возможно, мне придется добавить еще несколько запросов на поиск работы в Kue, из-за того, как я повлиял на некоторые вещи, но это будет легко.