Commit dffa23c5 authored by Kyle Clarke's avatar Kyle Clarke 💬

Forgot to mention the safety value that runners will break when iterations breach 2 power 64 times.

parent dc42ccc1
Pipeline #4130920 passed with stage
in 28 seconds
......@@ -221,6 +221,12 @@ values, Kevin makes **no guarantees**. Not to mention any lag with ID generation
job additions. To date Kevin has not been performance profiled so use micro/nano
seconds at your own peril.
**Will a runner run forever?**
***No!*** Internally Kevin has a safety check based on a `uint64` value range. If the runner iterates over the `uint64`
limit, Kevin will break from the running loop, just to be safe!. If this event should occur and you want/need to keep
processing, then simply check on the Kevin Error of `ErrJobMaximumTickBreach`. The remove the job from the schedule
and re-add as required. But do you really need a job to execute 18446744073709551615 times?
**What about Return Values?**
Qs: Can the Run() or Info() methods contain return values from my Fn call?
......
......@@ -42,8 +42,8 @@ type runner struct {
status string
}
// Given a jobber, use reflection to create the func and func params to
// call inside doRun.
// Given a Job, use reflection to create the func and func params to
// call inside do.
func initRunner(j *Job) (*runner, error) {
// Be sure we can parse the func and func params
f := j.Fn
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment