На нашем сайте наши модераторы могут просматривать материалы, которые публикуют люди. Это также относится и к видео, хотя сначала его нужно конвертировать. Это происходит либо ночью автоматически (через службу Windows), либо раньше, когда модератор запускает его вручную.
Теперь, эта последняя часть, откуда мой вопрос. Сначала я подумал, что просто напишу отдельный сервис для обработки конверсии. Каждый раз, когда модератор запускает преобразование, в базе данных обновляется запись, чтобы пометить ее для отдельного преобразования. Тогда сервис позаботится об остальном. Все это прекрасно работает, когда это только один файл.
Но представьте себе эту ситуацию, модератор # 1 запускает службу. Служба запускается и запускает преобразование файла. Во время этого процесса модератор # 2 начинает преобразование другого файла. Он попытается запустить службу, но потерпит неудачу, потому что она уже запущена. Файл будет помечен для индивидуального преобразования, но не будет преобразован, так как не смог запустить службу.
Теперь я ищу новые идеи, чтобы решить это.
- Можно ли запустить несколько экземпляров одного сервиса?
- Могу ли я сделать услугу более динамичной? Например, если модератор # 2 начнет преобразование, он запустит службу, но если служба уже запускается, можно ли добавить файл в список? (В начале службы я создаю список, который читает каждый файл из базы данных в поисках индивидуального флага преобразования)
- Я знаю, что по существу думал об услуге, есть ли другой способ обработки операций на сервере, который может обрабатывать несколько запросов модераторов?
Я понимаю, что это может показаться немного туманным, поэтому, пожалуйста, если у вас есть какие-либо вопросы, просто задавайте.
РЕДАКТИРОВАТЬ: Может быть, я должен предоставить некоторую дополнительную информацию, в настоящее время я студент, работающий на стажировке, мои промоутеры не очень хотели, чтобы файл был преобразован почти мгновенно. Они хотели, чтобы преобразование происходило ночью, если модератор не запускает его вручную для одного файла. Также веб-сайт и файловая система находятся на одном сервере (база данных на отдельном сервере). В основном работа будет выполняться на том же сервере, на котором работает веб-сайт (в настоящее время его нельзя разделить). Их беспокоит производительность на сервере.
Любой комментарий будет оценен!
С наилучшими пожеланиями,
Floris