utils.MINUTE -> utils.MetaEveryMinute, utils.HOUR -> utils.MetaHourly

This commit is contained in:
DanB
2017-06-03 11:17:39 +02:00
parent 6b210f5610
commit 7d33386913
5 changed files with 33 additions and 19 deletions

View File

@@ -95,15 +95,7 @@ func (at *ActionTiming) GetNextStartTime(now time.Time) (t time.Time) {
if len(i.Timing.Months) > 0 && len(i.Timing.MonthDays) == 0 {
i.Timing.MonthDays = append(i.Timing.MonthDays, 1)
}
if i.Timing.StartTime == utils.MINUTE {
at.stCache = cronexpr.MustParse("0 * * * * * *").Next(now)
} else if i.Timing.StartTime == utils.HOUR {
at.stCache = cronexpr.MustParse("0 0 * * * * *").Next(now)
} else {
at.stCache = cronexpr.MustParse(i.Timing.CronString()).Next(now)
}
at.stCache = cronexpr.MustParse(i.Timing.CronString()).Next(now)
return at.stCache
}

View File

@@ -53,9 +53,14 @@ func (rit *RITiming) CronString() string {
return rit.cronString
}
var sec, min, hour, monthday, month, weekday, year string
if len(rit.StartTime) == 0 {
switch rit.StartTime {
case "":
hour, min, sec = "*", "*", "*"
} else {
case utils.MetaEveryMinute:
hour, min, sec = "*", "*", "0"
case utils.MetaHourly:
hour, min, sec = "*", "0", "0"
default:
hms := strings.Split(rit.StartTime, ":")
if len(hms) == 3 {
hour, min, sec = hms[0], hms[1], hms[2]

View File

@@ -348,6 +348,23 @@ func TestRateIntervalCronEmpty(t *testing.T) {
}
}
func TestRITimingCronEveryX(t *testing.T) {
rit := &RITiming{
StartTime: utils.MetaEveryMinute,
}
eCronStr := "0 * * * * * *"
if cronStr := rit.CronString(); cronStr != eCronStr {
t.Errorf("Expecting: <%s>, received: <%s>", eCronStr, cronStr)
}
rit = &RITiming{
StartTime: utils.MetaHourly,
}
eCronStr = "0 0 * * * * *"
if cronStr := rit.CronString(); cronStr != eCronStr {
t.Errorf("Expecting: <%s>, received: <%s>", eCronStr, cronStr)
}
}
func TestRateIntervalCost(t *testing.T) {
ri := &RateInterval{
Rating: &RIRate{

View File

@@ -85,22 +85,22 @@ func NewTpReader(db DataDB, lr LoadReader, tpid, timezone string) *TpReader {
StartTime: utils.ASAP,
EndTime: "",
}
tpr.timings[utils.MINUTE] = &utils.TPTiming{
ID: utils.MINUTE,
tpr.timings[utils.MetaEveryMinute] = &utils.TPTiming{
ID: utils.MetaEveryMinute,
Years: utils.Years{},
Months: utils.Months{},
MonthDays: utils.MonthDays{},
WeekDays: utils.WeekDays{},
StartTime: utils.MINUTE,
StartTime: utils.MetaEveryMinute,
EndTime: "",
}
tpr.timings[utils.HOUR] = &utils.TPTiming{
ID: utils.HOUR,
tpr.timings[utils.MetaHourly] = &utils.TPTiming{
ID: utils.MetaHourly,
Years: utils.Years{},
Months: utils.Months{},
MonthDays: utils.MonthDays{},
WeekDays: utils.WeekDays{},
StartTime: utils.HOUR,
StartTime: utils.MetaHourly,
EndTime: "",
}
return tpr

View File

@@ -108,8 +108,6 @@ const (
UNLIMITED = "*unlimited"
ZERO = "*zero"
ASAP = "*asap"
MINUTE = "*minute"
HOUR = "*hour"
USERS = "*users"
COMMENT_CHAR = '#'
CSV_SEP = ','
@@ -372,4 +370,6 @@ const (
MetaFileCSV = "*file_csv"
MetaFileFWV = "*file_fwv"
Accounts = "Accounts"
MetaEveryMinute = "*every_minute"
MetaHourly = "*hourly"
)