Каков характер выполняемых вами задач?
Являются ли задачи просто заданиями, выполняемыми в запланированное время дня или каждые X минут?Для этого вы могли бы зарегистрировать в своем веб-приложении cronjobs или аналогичные, и каждый cronjob может порождать экземпляр вашего скрипта, который, как я полагаю, является кратковременным, для выполнения автоматизированной задачи по одному пользователю за раз.Если точное время выполнения сценария не имеет значения, вы можете разбросать выполнение этих сценариев в течение дня, на отдельных машинах, если это необходимо.
Приведенный выше подход, вероятно, не будет хорошо масштабироваться до 10 000 пользователей,и вам понадобится что-то более надежное, особенно если скрипт должен постоянно работать (например, вы опрашиваете некоторые данные из Facebook и должны реагировать на их изменения).Если на одного пользователя приходится много общения, то вы можете рассмотреть возможность использования модели «производитель-потребитель», где группа сценариев производителя (которые работают постоянно) выдают рабочие запросы в глобальную очередь, которую запрашивает и выполняет группа пользовательских сценариев.Вы также можете распределить нагрузку между такими потребителями и производителями на нескольких машинах.
Конечно, вы определенно захотите выжать некоторый параллелизм из дополнительных ядер ваших машин, выполняя эту работу над несколькими потоками или процессами.Вы можете сделать это довольно легко в Python, используя многопроцессорный модуль.