Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Задержка перед обработкой / 9 сообщений из 9, страница 1 из 1
30.07.2014, 18:09
    #38709352
Foror
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка перед обработкой
Скажем я мониторю изменения файлов (в отдельном потоке), когда файл изменился, то мне нужно это как-то обработать, но при этом не сразу, а скажем спустя 10 сек. При этом все события по изменённым файлом кладу в Queue, но вот дальше уже голова не варит как красивее сделать. При этом, чтобы цикл не работал в холостую, а скажем завис на queue.take()
...
Рейтинг: 0 / 0
30.07.2014, 18:19
    #38709359
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка перед обработкой
Как ты мониторишь изменения? (На всякий случай здесь читал? http://docs.oracle.com/javase/tutorial/essential/io/notification.html)
...
Рейтинг: 0 / 0
30.07.2014, 18:24
    #38709370
Foror
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка перед обработкой
mayton, так и монюторю, вот здесь:

Код: java
1.
for (WatchEvent<?> event: key.pollEvents()) { ... }



Я кладу в queue, event.kind и event.context. Но обрабатывать event'ы мне нужно не сразу, а спустя 10 сек. Т.к. некоторые софтины создают временные файлы, а затем их тут же удаляют.
...
Рейтинг: 0 / 0
30.07.2014, 18:25
    #38709372
Foror
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка перед обработкой
Либо юзер жмёт часто ctr-s, файлы нужно гонять на удалённый сервер, так что, лишние телодвижения нужно сократить.
...
Рейтинг: 0 / 0
30.07.2014, 18:29
    #38709382
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка перед обработкой
Тебе нужно после каждого евента чистить queue от ненужных записей и те кто выжили
и имеют время старше 10 секунд - обрабатывать.

Если событий долго нет - можно подключить Quartz и дополнительно бегать по очереди
и подчищать события.
...
Рейтинг: 0 / 0
30.07.2014, 18:44
    #38709405
Foror
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка перед обработкой
Я вот думаю, может проще, после queue.take(), делать задержку 11 сек и после поднимать последовательно эвенты и проверять время их жизни? Наверно так и сделаю.
...
Рейтинг: 0 / 0
30.07.2014, 20:54
    #38709502
Foror
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка перед обработкой
Покопался в JDK, нашел вот такую штуку DelayQueue<E extends Delayed> есть ли смысл её использовать, если delay будет всегда одинаковым?
...
Рейтинг: 0 / 0
30.07.2014, 20:54
    #38709503
Foror
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка перед обработкой
...
Рейтинг: 0 / 0
30.07.2014, 20:55
    #38709505
Foror
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка перед обработкой
С другой стороны, может дать пользователю настройку, какие типы файлов нужно синхронизировать сразу, а какие можно и отложить.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Задержка перед обработкой / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]