Closed
Description
Simple reprex:
library(simmer)
t <- trajectory() %>%
seize("res") %>%
set_capacity("res", function() get_capacity(env, "res")-1) %>%
timeout(10) %>%
release("res")
env <- simmer(verbose=TRUE) %>%
add_resource("res", preemptive=TRUE) %>%
add_generator("dummy", t, at(0))
run(env)
#> 0 | generator: dummy | new: dummy0 | 0
#> 0 | arrival: dummy0 | activity: Seize | res, 1, 0 paths
#> 0 | resource: res | arrival: dummy0 | SERVE
#> 0 | arrival: dummy0 | activity: SetCapacity | res, 0x55d1919f9c08
#> 0 | resource: res | arrival: dummy0 | PREEMPT
#> 0 | arrival: dummy0 | activity: Timeout | 10
#> 10 | arrival: dummy0 | activity: Release | res, 1
#> 10 | resource: res | arrival: dummy0 | DEPART
By contrast,
library(simmer)
t1 <- trajectory() %>%
seize("res") %>%
timeout(10) %>%
release("res")
t2 <- trajectory() %>%
set_capacity("res", function() get_capacity(env, "res")-1)
env <- simmer(verbose=TRUE) %>%
add_resource("res", preemptive=TRUE) %>%
add_generator("dummy", t1, at(0)) %>%
add_generator("other", t2, at(0))
run(env)
#> 0 | generator: dummy | new: dummy0 | 0
#> 0 | generator: other | new: other0 | 0
#> 0 | arrival: dummy0 | activity: Seize | res, 1, 0 paths
#> 0 | resource: res | arrival: dummy0 | SERVE
#> 0 | arrival: dummy0 | activity: Timeout | 10
#> 0 | arrival: other0 | activity: SetCapacity | res, 0x55da5a78a620
#> 0 | resource: res | arrival: dummy0 | PREEMPT