Планирование заданий на веб-сервере - PullRequest
0 голосов
/ 24 мая 2010

Мы хотим создать онлайн-игру, подобную this . Я думаю, что у игр такого типа есть программное обеспечение для планирования на веб-сервере.Например: Player Нажмите, чтобы создать ресурс, а создание ресурса займет около 20 минут. (Время создания каждого ресурса будет разным).Это сообщение будет отправлено приложению веб-сервера, но это сообщение не будет обрабатываться одновременно, например, должно быть обработано через 20 минут.Приложение веб-сервера после получения сообщения должно поставить заказ в очередь.

У нас есть большие проблемы:

1 - Задания должны быть выполнены приложением веб-сервера. Даже игрок Выйти из игры.Я думаю, что мы должны создать что-то вроде службы Windows на веб-сервере.Мы можем сделать это?или есть лучший способ?

2- Вторая проблема зависела от задачи 1. Потому что у нас будет много заданий (каждый игрок может создать 20,30 заданий в каждом Loggin, и у нас будет тысячи пользователей),Таким образом, наша система планирования должна работать вовремя.возможно, что за одну секунду будет 100, 1000 заданий, если приложение Can't Done Работы в нем Second будет использовать следующую секунду Time, а следующие секунды заданий сместятся на следующую секунду и т. д. Как мы можем это сделать дляэта проблема?

Платформа: .Net 3.5 на веб-сервере Windows 2003

Приветствия

Asad Safari

Agile Coach, Scrum Master

Ответы [ 4 ]

2 голосов
/ 24 мая 2010

В Unix, используйте cron, чтобы запланировать выполнение сценария каждую минуту - сценарий затем обрабатывает все задания.

http://en.wikipedia.org/wiki/Cron

0 голосов
/ 04 мая 2012

У меня был несколько похожий вопрос, так как я также занимаюсь разработкой приложения, которое опирается на планирование на стороне сервера: Планирование заданий в Play!Framework .Я использую Play Framework (Java) , и он работает как шарм;за исключением того, что у меня нет опыта в том, сколько заданий можно планировать одновременно, не ставя сервер на колени.

0 голосов
/ 24 мая 2010

Я думаю, что мой ответ не совсем соответствует вашему вопросу, но он решит вашу проблему.Обе точки одновременно.

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

Что ж, это мое решение: вставьте поле в свой класс модели ресурсовс именем usable_since или чем-то в этом роде, и, когда игрок создает свой ресурс, просто установите для него значение этого поля на текущее время плюс желаемое время ожидания.* Таким образом вы справитесь с двумя проблемами:

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

Надеюсь, это поможет.Желаю вам удачи в разработке игры.Сделать это весело!

0 голосов
/ 24 мая 2010

Ну, конкретный ответ будет зависеть от того, какую технологию / язык / платформу вы используете. В java проверьте сервисы планирования, предоставляемые Quartz для планирования заданий; и проверьте JMS / MDB для реализации асинхронной обработки событий, упомянутой вами в вопросе 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...