Запланировать задание вопроса - PullRequest
1 голос
/ 14 января 2011

У меня есть вопрос:)

Допустим, вы получаете некоторые данные, которые должны быть получены в определенный момент в будущем.Вы получаете А, говоря, что моя задача должна быть выполнена через 1 час, а другая говорит, что его задача должна быть выполнена через 1,5 часа.Информация собирается на вашем сервере.На каком языке программирования или даже как это решить?Таким образом, задача А будет выполнена в течение 1 часа, задача Б - через 1,5 часа.Я читал кое-что о планировщике Java, но пока не уверен, что это правильный путь.

Какие у вас идеи?

Приветствия

Ответы [ 4 ]

1 голос
/ 14 января 2011

Если по какой-то причине вы решили внедрить такую ​​систему самостоятельно, вот идея.

  • Иметь список, в котором вы храните свои задания, упорядоченные по времени.
  • Создайте процесс-демон, который спит большую часть времени и, например, просыпается. каждую минуту или даже нерегулярно, используя sleep(). Когда демон просыпается, он берет задачи из очереди; если пришло время выполнения задачи, она запускает ее в отдельном процессе (или потоке) и удаляет ее из очереди Запустив все необходимые задания, он снова засыпает.
  • Разработка интерфейса для добавления новых задач в очередь.
1 голос
/ 14 января 2011

Если вы ищете программный доступ, взгляните на Quartz - планировщик JavaУ них также есть хороший учебник ресурс .

1 голос
/ 14 января 2011

Если это длительный процесс, вы можете использовать ScheduledExecutorService в Java для достижения этой цели.Очевидно, что если ваш процесс завершится, задача будет потеряна.

cron или кварц также будут работать как более постоянные планировщики.у каждого свои морщины.

1 голос
/ 14 января 2011

cron установлен на большинстве веб-серверов Unix - вы можете использовать его для назначения задач для последующего выполнения.

...