Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Нужна идея по реализации.
#1
Доброго дня.

2-й день голову ломаю над реализацией нескольких десятков ограничений в циклах.
Имеется штук 20 циклов, в каждом из них выполняются разные функции. Требуется ограничить выполнение каждой функции по, допустим, 30 раз в сутки(!). Т.е. цикл выполнил функцию 30 раз и заткнулся на 1 день. У меня это сделано следующим образом: каждое выполнение функции добавляет +1 к значению в настройках(отдельный файл настроек). Но так слишком громоздко. Получается 20 настроек на все эти циклы. Хотелось бы как то облагородить.
Может у кого такое уже реализовано? Поделитесь идей.
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Ответ
#2
1 настройка

в памяти масив из 20

както так
Ответ
#3
smeli Написал:1 настройка

в памяти масив из 20

както так
Но этот массив нужно куда-то записывать периодически тк если программа упадет то счетчик собьется....
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#4
Zubastic Написал:Но этот массив нужно куда-то записывать периодически тк если программа упадет то счетчик собьется....

Именно так. Уже думал о массиве.
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Ответ
#5
[STIGMATED];294115 Написал:Именно так. Уже думал о массиве.

Сделай отдельный класс который implements Serializable
В нем масив.
Сохраняй состояние массива и восстанавливай при загрузке.
Ответ
#6
Я со сборками не работаю, мб что-то не то ляпну, но все же:

Листенер поставь, листенер будет смотреть метку времени, када последний раз запускались твои циклы. И если это была не сегодняшняя дата, то выполнить цикл...
Ответ
#7
Цитата:Я со сборками не работаю, мб что-то не то ляпну, но все же:
Я сборками тоже как бы не занимаюсь уже около 2-х лет Smile
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Ответ
#8
получается будет следущая база из колонок:

func_name - имя функции
timestamp - метка времени
count - кол-во выполненных циклов


Код:

[SRC="java"]if ( db.timestamp == сегодняшняя_дата && db.count < 30 )
{
1. выполнили

2. обновили в базе db.count+1
}
else
{
1. удалил запись с именем функцией

2. выполнили

3. Сделали insert запрос на эту фун-цию
}[/SRC]

Как-то так...
Ответ
#9
Где-то сохранять, к примеру в базе или файле значение счетчиков и дату выполнения, когда наберется лимит то не выполнять пока дата не изменится.
Это образно.
Ответ
#10
Жестоко...Вариант реализации уже подсказан Альфом. Сериализация в помощь Wink
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Нужна помощь (Решение Задачи) Valdemor 13 7,167 02-12-2014, 10:20 AM
Последний пост: Valdemor
  Нужна помощь acter1kc 4 2,104 07-16-2012, 01:08 AM
Последний пост: acter1kc
  нужна помощь опытных Atripl 3 1,894 06-23-2012, 04:18 PM
Последний пост: VISTALL
  Нужна небольшая помощь vitlav 5 3,205 05-01-2011, 11:38 PM
Последний пост: VISTALL
  Нужна помощь по поводу Java ядра ilyxa 20 11,447 11-24-2010, 07:02 PM
Последний пост: Ozzy

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)