Skip to content

Commit

Permalink
Julia 0.7/1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
scls19fr authored Oct 24, 2018
2 parents 4a43851 + d904865 commit 8e5a7a4
Show file tree
Hide file tree
Showing 31 changed files with 77 additions and 52 deletions.
3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ os:
- linux
- osx
julia:
- 0.6
- 0.7
- 1.0
- nightly
notifications:
email: false
Expand Down
3 changes: 2 additions & 1 deletion REQUIRE
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
julia 0.6
julia 0.7
Dates
DataStructures
TimeFrames
TimeZones
1 change: 1 addition & 0 deletions docs/src/sample/sample.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using ExtensibleScheduler
using TimeFrames
using Dates: now

function print_time_noparam()
println("From print_time_noparam $(now(Dates.UTC))")
Expand Down
2 changes: 2 additions & 0 deletions src/ExtensibleScheduler.jl
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ module ExtensibleScheduler
export SimClock, set, NoSleep
export iterate

using Dates

include("priority.jl")
include("clock/base.jl")
include("action.jl")
Expand Down
2 changes: 1 addition & 1 deletion src/clock/rtclock.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Base: now
import Dates: now


"""
Expand Down
4 changes: 3 additions & 1 deletion src/clock/time.jl
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,10 @@ FloatTimeFunc = FloatTimeFuncStruct()
"""
Default time function
"""
global _time = UTCDateTimeFunc

# Time as Float64
#_time = FloatTimeFunc

# Time as DateTime (UTC)
_time = UTCDateTimeFunc
#_time = UTCDateTimeFunc
5 changes: 4 additions & 1 deletion src/jobstores/base.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
using UUIDs


"""
`AbstractJobStore` is an abstract type for jobstores
Expand All @@ -15,7 +18,7 @@ It's preferable to use `get_job_id(jobstore)` to ensure
that a `job_id` is unique for a given `JobStore`.
"""
function get_job_id()
string(Base.Random.uuid4())
string(UUIDs.uuid4())
end

include("memory.jl")
2 changes: 1 addition & 1 deletion src/jobstores/memory.jl
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ if it shouldn't be fired again.
"""
function update(jobstore::MemoryJobStore, job::Job, now_)
job.dt_updated = now_
itr_size = iteratorsize(job.trigger)
itr_size = IteratorSize(job.trigger)
if itr_size == HasLength()
remaining = length(job.trigger) - job.n_triggered
if remaining > 0
Expand Down
5 changes: 4 additions & 1 deletion src/schedulers/base.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
using UUIDs


"""
`AbstractScheduler` is an abstract type for schedulers.
Expand All @@ -19,5 +22,5 @@ include("blocking.jl")
Return a random identifier for a scheduler.
"""
function get_scheduler_id()
string(Base.Random.uuid4())[1:13]
string(UUIDs.uuid4())[1:13]
end
3 changes: 2 additions & 1 deletion src/schedulers/blocking.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Base: sleep, now
import Base: sleep
using Dates: now


"""
Expand Down
6 changes: 3 additions & 3 deletions src/triggers/base.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Base: iteratorsize, HasLength, IsInfinite, length
import Base: IteratorSize, HasLength, IsInfinite, length


"""
Expand All @@ -21,11 +21,11 @@ struct NoTrigger <: AbstractTrigger
end


function iteratorsize(trigger::AbstractFiniteTrigger)
function IteratorSize(trigger::AbstractFiniteTrigger)
HasLength()
end

function iteratorsize(trigger::AbstractInfiniteTrigger)
function IteratorSize(trigger::AbstractInfiniteTrigger)
IsInfinite()
end

Expand Down
4 changes: 2 additions & 2 deletions src/triggers/instant.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Base: iteratorsize, HasLength, length
import Base: IteratorSize, HasLength, length

"""
InstantTrigger(dt::DateTime)
Expand All @@ -9,7 +9,7 @@ struct InstantTrigger <: AbstractTrigger
dt_fire_at::DateTime
end

iteratorsize(trigger::InstantTrigger) = HasLength()
IteratorSize(trigger::InstantTrigger) = HasLength()
length(trigger::InstantTrigger) = 1


Expand Down
27 changes: 14 additions & 13 deletions src/triggers/iterator.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Base: start, done, next
import Base: iterate

"""
iterate(trigger, dt[, n=number_of_times])
Expand Down Expand Up @@ -44,37 +44,38 @@ end

function TriggerIterator(trigger::AbstractTrigger, dt, n)
if n < 0
if iteratorsize(trigger) == IsInfinite()
if IteratorSize(trigger) == IsInfinite()
InfiniteTriggerIterator(trigger, dt)
else
FiniteTriggerIterator(trigger, dt, trigger.n)
end
else
if iteratorsize(trigger) == IsInfinite()
if IteratorSize(trigger) == IsInfinite()
FiniteTriggerIterator(trigger, dt, n)
else
FiniteTriggerIterator(trigger, dt, min(n, trigger.n))
end
end
end

start(itr::AbstractTriggerIterator) = (itr.dt, 0)

done(itr::InfiniteTriggerIterator, state) = false
function done(itr::FiniteTriggerIterator, state)
dt_next, i = state
i >= itr.n
function iterate(itr::AbstractTriggerIterator, state=(itr.dt, 0))
dt_now, i = state
i >= itr.n && return nothing
dt_next = get_next_dt_fire(itr.trigger, DateTime(0), dt_now)
i += 1
state = dt_next, i
return (dt_next, state)
end

function next(itr::AbstractTriggerIterator, state)
function iterate(itr::InfiniteTriggerIterator, state=(itr.dt, 0))
dt_now, i = state
dt_next = get_next_dt_fire(itr.trigger, DateTime(0), dt_now)
i += 1
state = dt_next, i
dt_next, state
return (dt_next, state)
end

iteratorsize(itr::InfiniteTriggerIterator) = IsInfinite()
iteratorsize(itr::FiniteTriggerIterator) = HasLength()
IteratorSize(itr::InfiniteTriggerIterator) = IsInfinite()
IteratorSize(itr::FiniteTriggerIterator) = HasLength()

length(itr::FiniteTriggerIterator) = itr.n
2 changes: 1 addition & 1 deletion src/triggers/period.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Base: iteratorsize, HasLength, IsInfinite, length
import Base: IteratorSize, HasLength, IsInfinite, length


struct FinitePeriodTrigger <: AbstractFiniteTrigger
Expand Down
2 changes: 1 addition & 1 deletion src/triggers/time.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Base: iteratorsize, HasLength, IsInfinite, length
import Base: IteratorSize, HasLength, IsInfinite, length


struct FiniteTimeTrigger <: AbstractFiniteTrigger
Expand Down
2 changes: 1 addition & 1 deletion src/triggers/timeframe.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Base: iteratorsize, IsInfinite, length
import Base: IteratorSize, IsInfinite, length


using TimeFrames
Expand Down
2 changes: 1 addition & 1 deletion test/runtests.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using ExtensibleScheduler
using Base.Test
using Test

include("test_priority.jl")
include("test_job.jl")
Expand Down
2 changes: 1 addition & 1 deletion test/samples/test_sample_blocking_scheduler.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Base.Test
using Test
using ExtensibleScheduler

using TimeFrames
Expand Down
2 changes: 1 addition & 1 deletion test/test_action.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Base.Test
using Test
using ExtensibleScheduler

@testset "Action" begin
Expand Down
2 changes: 1 addition & 1 deletion test/test_clock.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Base.Test
using Test
using ExtensibleScheduler
using ExtensibleScheduler: real_time_clock, ClockException

Expand Down
3 changes: 2 additions & 1 deletion test/test_job.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Base.Test
using Test
using Dates: now
using ExtensibleScheduler
using ExtensibleScheduler: Job, get_job_id, JobConfig

Expand Down
3 changes: 2 additions & 1 deletion test/test_jobstores.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Base.Test
using Test
using Dates: now
using ExtensibleScheduler
using ExtensibleScheduler: MemoryJobStore, Job, get_job_id

Expand Down
5 changes: 3 additions & 2 deletions test/test_priority.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Base.Test
using Test
using ExtensibleScheduler: Priority
using Dates

@testset "Priority Tests" begin

Expand Down Expand Up @@ -32,4 +33,4 @@ using ExtensibleScheduler: Priority
p2 = Priority(DateTime(2010, 1, 1), 0)
@test p2 > p1
end
end
end
3 changes: 2 additions & 1 deletion test/trigger/test_trigger_custom.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Base.Test
using Test
using Dates
using ExtensibleScheduler
using TimeFrames

Expand Down
7 changes: 4 additions & 3 deletions test/trigger/test_trigger_instant.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
using Base.Test
using Test
using Dates
using ExtensibleScheduler
using ExtensibleScheduler: InstantTrigger, get_next_dt_fire
using Base: iteratorsize, HasLength, length
using Base: IteratorSize, HasLength, length


@testset "InstantTrigger" begin
Expand All @@ -14,7 +15,7 @@ using Base: iteratorsize, HasLength, length
@test trigger isa InstantTrigger
@test get_next_dt_fire(trigger, dt_previous_fire, dt_now) == dt_next_fire

@test iteratorsize(trigger) == HasLength()
@test IteratorSize(trigger) == HasLength()
@test length(trigger) == 1
end

Expand Down
3 changes: 2 additions & 1 deletion test/trigger/test_trigger_iterator.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Base.Test
using Test
using Dates
using ExtensibleScheduler


Expand Down
3 changes: 2 additions & 1 deletion test/trigger/test_trigger_offset.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Base.Test
using Test
using Dates
using ExtensibleScheduler
using ExtensibleScheduler: TriggerOffset, get_next_dt_fire

Expand Down
3 changes: 2 additions & 1 deletion test/trigger/test_trigger_period.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Base.Test
using Test
using Dates
using ExtensibleScheduler

@testset "PeriodTrigger" begin
Expand Down
11 changes: 6 additions & 5 deletions test/trigger/test_trigger_time.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
using Base.Test
using Test
using Dates
using ExtensibleScheduler
using ExtensibleScheduler: FiniteTimeTrigger, InfiniteTimeTrigger, get_next_dt_fire
using Base: iteratorsize, HasLength, IsInfinite, length
using Base: IteratorSize, HasLength, IsInfinite, length


@testset "TimeTrigger" begin
Expand All @@ -16,7 +17,7 @@ using Base: iteratorsize, HasLength, IsInfinite, length
@test trigger isa FiniteTimeTrigger
@test get_next_dt_fire(trigger, dt_previous_fire, dt_now) == dt_next_fire

@test iteratorsize(trigger) == HasLength()
@test IteratorSize(trigger) == HasLength()
@test length(trigger) == 1
end
end
Expand Down Expand Up @@ -82,7 +83,7 @@ using Base: iteratorsize, HasLength, IsInfinite, length
@test trigger isa FiniteTimeTrigger
@test get_next_dt_fire(trigger, dt_previous_fire, dt_now) == dt_next_fire

@test iteratorsize(trigger) == HasLength()
@test IteratorSize(trigger) == HasLength()
@test length(trigger) == n
end

Expand Down Expand Up @@ -145,7 +146,7 @@ using Base: iteratorsize, HasLength, IsInfinite, length
@test trigger isa InfiniteTimeTrigger
@test get_next_dt_fire(trigger, dt_previous_fire, dt_now) == dt_next_fire

@test iteratorsize(trigger) == IsInfinite()
@test IteratorSize(trigger) == IsInfinite()
@test_throws MethodError length(trigger)
end
@testset "sample" begin
Expand Down
3 changes: 2 additions & 1 deletion test/trigger/test_trigger_timeframe.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Base.Test
using Test
using Dates
using ExtensibleScheduler
using TimeFrames

Expand Down
4 changes: 2 additions & 2 deletions test/trigger/test_triggers.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using Base.Test
using Test
using ExtensibleScheduler
using ExtensibleScheduler: InstantTrigger, TimeTrigger, get_next_dt_fire
using Base: iteratorsize, HasLength, IsInfinite, length
using Base: IteratorSize, HasLength, IsInfinite, length
using ExtensibleScheduler: TriggerOffset
using ExtensibleScheduler: iterate

Expand Down

0 comments on commit 8e5a7a4

Please sign in to comment.