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

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



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

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


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