Net Форумы

 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Генеральный спонсор: www.Net.Ru - серьезный, профессиональный хостинг.

Запуск сервлета в заданное время. Resin run-at или crontab?

 
Начать новую тему   Ответить на тему    Список форумов Net Форумы -> Java - сервлеты и JSP
Предыдущая тема :: Следующая тема  
Автор Сообщение
ASF
Member


Зарегистрирован: 01.01.1970
Сообщения: 35

СообщениеДобавлено: 06.06.2005 11:10    Заголовок сообщения: Запуск сервлета в заданное время. Resin run-at или crontab? Ответить с цитатой

Собственно сабж.

Для Резина, видимо, нужно написать примерно следующее:

Код:
<servlet servlet-name='test.HelloWorld'>
  <run-at>0:00, 6:00, 12:00, 18:00</run-at>
</servlet>


Вопрос: по какому времени это будеть работать (GMT, MSK)?

Или лучше использовать crontab-файл?
Как запустить из него сервлет?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
gsvano
Member


Зарегистрирован: 05.05.2005
Сообщения: 47

СообщениеДобавлено: 07.06.2005 02:24    Заголовок сообщения: Re: Запуск сервлета в заданное время. Resin run-at или cront Ответить с цитатой

ASF писал(а):
Или лучше использовать crontab-файл?


cron рулит

ASF писал(а):
Как запустить из него сервлет?


Этого не знаю. Может так?
0 6 * * * cd $HOME/html/www/WEB-INF/MyPak; java CronClass >~/logs/cron.log 2>&1

Попробуйте, может получится?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
CV
Core team


Зарегистрирован: 01.01.1970
Сообщения: 965

СообщениеДобавлено: 07.06.2005 11:11    Заголовок сообщения: Ответить с цитатой

> 0 6 * * * cd $HOME/html/www/WEB-INF/MyPak; java CronClass >~/logs/cron.log 2>&1

так точно не получится
если из крона - то lynx или wget на URL сервлета
но вполне можно и из самого резина
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ASF
Member


Зарегистрирован: 01.01.1970
Сообщения: 35

СообщениеДобавлено: 07.06.2005 12:46    Заголовок сообщения: Ответить с цитатой

[quote="CVесли из крона - то lynx или wget на URL сервлета[/quote]

Ок. Спасибо.

Похоже через крон так:

Код:
* * * * * /bin/lynx -source "http://домен.зона/url_сервлета"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
CV
Core team


Зарегистрирован: 01.01.1970
Сообщения: 965

СообщениеДобавлено: 07.06.2005 13:51    Заголовок сообщения: Ответить с цитатой

да, из крона правильно.
а из резина не работает?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ASF
Member


Зарегистрирован: 01.01.1970
Сообщения: 35

СообщениеДобавлено: 07.06.2005 14:29    Заголовок сообщения: Ответить с цитатой

CV писал(а):
а из резина не работает?


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

С другой стороны, резин не требует, чтобы сервлету соответствовал какой-нибудь URL, он вызывает сервлет по имени. Это как раз то, что нужно для служебных задач, когда не хотелось бы, чтобы юзверь мог вызвать сервлет по url.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Ser G
Member


Зарегистрирован: 01.01.1970
Сообщения: 138
Откуда: Краснодар

СообщениеДобавлено: 07.06.2005 18:45    Заголовок сообщения: Ответить с цитатой

Цитата:
С другой стороны, резин не требует, чтобы сервлету соответствовал какой-нибудь URL, он вызывает сервлет по имени. Это как раз то, что нужно для служебных задач, когда не хотелось бы, чтобы юзверь мог вызвать сервлет по url.


В этом случае Резин просто создает экземпляр класса (и необходимый для выполнения код надо разместить где-нибудь внутри метода init()), или Резин вызывает какой-то метод сервлета?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ASF
Member


Зарегистрирован: 01.01.1970
Сообщения: 35

СообщениеДобавлено: 07.06.2005 20:15    Заголовок сообщения: Ответить с цитатой

Ser G писал(а):

В этом случае Резин просто создает экземпляр класса (и необходимый для выполнения код надо разместить где-нибудь внутри метода init()), или Резин вызывает какой-то метод сервлета?


Вызывает метод service().

При первом обращении к сервлету по расписанию перед методом service() вызывает метод init().
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Ser G
Member


Зарегистрирован: 01.01.1970
Сообщения: 138
Откуда: Краснодар

СообщениеДобавлено: 07.06.2005 20:25    Заголовок сообщения: Ответить с цитатой

Ясно, спасибо за комментарии - во многих случаях, действительно, нет необходимости использовать крон.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
galisha
Member


Зарегистрирован: 01.01.1970
Сообщения: 53
Откуда: galisha

СообщениеДобавлено: 26.04.2011 12:19    Заголовок сообщения: Ответить с цитатой

Мне кажется, что надо вызов сервлетов для крона освободить от кеширования. Так как я заметил, что апач закешировал запрос.

Сделал я у себя так:

<FilesMatch "(servlet)" >
ExpiresActive On
ExpiresDefault "access plus 0 minute"
</FilesMatch>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Net Форумы -> Java - сервлеты и JSP Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB
Русская поддержка phpBB