Сведения о вопросе

FELL

14:01, 6th August, 2020

Теги

Запланированные задачи для веб-приложений

Просмотров: 385   Ответов: 11

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



  Сведения об ответе

darknet

13:45, 6th August, 2020

Джефф обсуждал это в блоге Stack Overflow - http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

В принципе, Джефф предложил использовать CacheItemRemovedCallback в качестве таймера для вызова определенных задач.

Я лично считаю, что автоматизированные задачи должны обрабатываться как служба, запланированная задача Windows или задание на сервере SQL.

Под Linux, проверка cron.


  Сведения об ответе

pumpa

16:36, 20th August, 2020

Если мы говорим о платформе Microsoft, то я бы всегда разрабатывал отдельный сервис Windows для обработки таких пакетных задач.

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


  Сведения об ответе

dump

03:43, 28th August, 2020

Я думаю, что само переполнение стека использует истечение срока действия ApplicationCache для запуска фонового кода с интервалами.


  Сведения об ответе

SKY

21:06, 1st October, 2020

Если вы находитесь на хосте Linux, вы почти наверняка будете использовать cron .


  Сведения об ответе

lesha

02:24, 7th August, 2020

Очень простой метод, который мы использовали там, где я работаю, это:

  1. Настройте веб-сервис/веб-метод, который выполняет задачу. Этот WebService может быть обеспечено с логин/пасс при желании.
  2. Создайте консольное приложение, вызывающее эту веб-службу. При желании консольное приложение может отправлять параметры и / или возвращать некоторые метрики для вывода на консоль или во внешнее ведение журнала.
  3. Запланируйте этот исполняемый файл в выбранном планировщике задач.

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


  Сведения об ответе

9090

11:35, 5th August, 2020

Используйте URL fetchers, такие как wget или curl, чтобы сделать запросы HTTP GET.

Защитите свой URLs с помощью аутентификации, чтобы никто не мог выполнять задачи, не зная user/password.

Вы также можете сказать cron, чтобы он запускал php скрипты напрямую, например. И вы можете установить разрешения на файл PHP, чтобы запретить другим людям доступ к ним или еще лучше, не иметь эти служебные скрипты в веб-доступном каталоге...


  Сведения об ответе

fo_I_K

08:46, 1st August, 2020

В разделе linux можно использовать cron задание ( http://www.unixgeeks.org/security/newbie/unix/cron-1.html ) для планирования задач.

Используйте URL fetchers, такие как wget или curl, чтобы сделать запросы HTTP GET.

Защитите свой URLs с помощью аутентификации, чтобы никто не мог выполнять задачи, не зная user/password.


  Сведения об ответе

lool

03:03, 3rd August, 2020

Я думаю, что встроенный планировщик задач Windows-это предлагаемый инструмент для этой работы. Это требует внешнего приложения.


  Сведения об ответе

PHPH

11:00, 4th August, 2020

Это может быть или не быть тем, что вы ищете, но прочитайте эту статью: "имитация службы Windows с использованием ASP.NET для выполнения запланированных заданий ". Я думаю, что StackOverflow может использовать этот метод или, по крайней мере, о нем говорили.


  Сведения об ответе

lats

22:42, 10th August, 2020

Java и Spring -- используйте кварц. Очень хороший и надежный ... http://static.springframework.org/spring/docs/1.2.x/reference/scheduling.html


  Сведения об ответе

qwerty101

21:06, 1st October, 2020

Я думаю, что есть более простые способы, чем использование cron (Linux) или планировщика задач (Windows). Вы можете встроить это в свое веб-приложение, используя: а) кварцевый планировщик,

или если вы не хотите интегрировать в свое приложение другую стороннюю библиотеку: (b) создайте поток при запуске, который использует стандартный класс Java 'java.util.Timer' для выполнения ваших задач.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться