Как я могу выполнить запланированную задачу ColdFusion в интервале <60 секунд?

У меня есть метод CFC, который я хотел бы выполнить в интервале 30 секунд. Однако проблемой является ColdFusion, не позволит мне запланировать задачу, которая работает в интервале 60 секунд или ниже. У кого-либо есть предложение о том, как я могу (и должен) выполнять это?

Для приоритетного ответа на вопрос, "Что происходит, когда сценарий выполняет дольше, чем 30 секунд" или любой другой вопрос как этот я уже взял все, что на рассмотрении и это не беспокойство.

Я выполняю ColdFusion 8.0.1 (w/текущие исправления 4) на Windows Server 2003 (IIS6). Как примечание стороны, я использую Java 1.6u21 в качестве моей JVM для ColdFusion.

Заранее спасибо.

9
задан Adam Crossland 28 July 2010 в 14:55
поделиться

3 ответа

Единственный способ сделать это - отредактировать файл вручную для запланированных задач.

Итак:

  1. Создайте запланированную задачу с интервалом, скажем, 5 минут.
  2. Откройте файл с именем neo-cron.xml в каталоге lib вашей установки CF. Вы можете сначала сделать резервную копию .
  3. Найдите имя вашей запланированной задачи. Это большой кусок XML, поэтому вы можете отформатировать его и найти в редакторе XML.
  4. Немного после названия задачи вы должны увидеть что-то вроде этого: 300 . Это количество секунд между запуском задачи. Здесь это в секундах, поэтому вы можете вручную настроить его на 30, а затем сохранить файл и закрыть его.

Это по-прежнему будет отображаться как 1 минута в администраторе CF, но оно должно запускаться каждые 30 секунд - добавьте логирование, чтобы доказать это, если хотите!

Это не значит, что если вы отредактируете любую другую запланированную задачу с помощью администратора CF, ваши ручные изменения не будут затронуты, но если вы отредактируете фактическую задачу, которую вы настроили вручную, она перезапишет ваши изменения.

Надеюсь, это поможет!

13
ответ дан 4 December 2019 в 09:11
поделиться

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

2
ответ дан 4 December 2019 в 09:11
поделиться

Вы можете использовать curl и запланировать задачу на сервере Win или nix.

6
ответ дан 4 December 2019 в 09:11
поделиться