SYMBOL INDEX (154 symbols across 13 files) FILE: chain.go type JobWrapper (line 11) | type JobWrapper type Chain (line 15) | type Chain struct method Then (line 30) | func (c Chain) Then(j Job) Job { function NewChain (line 20) | func NewChain(c ...JobWrapper) Chain { function Recover (line 38) | func Recover(logger Logger) JobWrapper { function DelayIfStillRunning (line 61) | func DelayIfStillRunning(logger Logger) JobWrapper { function SkipIfStillRunning (line 78) | func SkipIfStillRunning(logger Logger) JobWrapper { FILE: chain_test.go function appendingJob (line 12) | func appendingJob(slice *[]int, value int) Job { function appendingWrapper (line 21) | func appendingWrapper(slice *[]int, value int) JobWrapper { function TestChain (line 30) | func TestChain(t *testing.T) { function TestChainRecover (line 44) | func TestChainRecover(t *testing.T) { type countJob (line 72) | type countJob struct method Run (line 79) | func (j *countJob) Run() { method Started (line 89) | func (j *countJob) Started() int { method Done (line 95) | func (j *countJob) Done() int { function TestChainDelayIfStillRunning (line 101) | func TestChainDelayIfStillRunning(t *testing.T) { function TestChainSkipIfStillRunning (line 155) | func TestChainSkipIfStillRunning(t *testing.T) { FILE: constantdelay.go type ConstantDelaySchedule (line 7) | type ConstantDelaySchedule struct method Next (line 25) | func (schedule ConstantDelaySchedule) Next(t time.Time) time.Time { function Every (line 14) | func Every(duration time.Duration) ConstantDelaySchedule { FILE: constantdelay_test.go function TestConstantDelayNext (line 8) | func TestConstantDelayNext(t *testing.T) { FILE: cron.go type Cron (line 13) | type Cron struct method AddFunc (line 141) | func (c *Cron) AddFunc(spec string, cmd func()) (EntryID, error) { method AddJob (line 148) | func (c *Cron) AddJob(spec string, cmd Job) (EntryID, error) { method Schedule (line 158) | func (c *Cron) Schedule(schedule Schedule, cmd Job) EntryID { method Entries (line 177) | func (c *Cron) Entries() []Entry { method Location (line 189) | func (c *Cron) Location() *time.Location { method Entry (line 194) | func (c *Cron) Entry(id EntryID) Entry { method Remove (line 204) | func (c *Cron) Remove(id EntryID) { method Start (line 215) | func (c *Cron) Start() { method Run (line 226) | func (c *Cron) Run() { method run (line 239) | func (c *Cron) run() { method startJob (line 308) | func (c *Cron) startJob(j Job) { method now (line 317) | func (c *Cron) now() time.Time { method Stop (line 323) | func (c *Cron) Stop() context.Context { method entrySnapshot (line 339) | func (c *Cron) entrySnapshot() []Entry { method removeEntry (line 347) | func (c *Cron) removeEntry(id EntryID) { type ScheduleParser (line 30) | type ScheduleParser interface type Job (line 35) | type Job interface type Schedule (line 40) | type Schedule interface type EntryID (line 47) | type EntryID type Entry (line 50) | type Entry struct method Valid (line 75) | func (e Entry) Valid() bool { return e.ID != 0 } type byTime (line 79) | type byTime method Len (line 81) | func (s byTime) Len() int { return len(s) } method Swap (line 82) | func (s byTime) Swap(i, j int) { s[i], s[j] = s[j], s[i] } method Less (line 83) | func (s byTime) Less(i, j int) bool { function New (line 113) | func New(opts ...Option) *Cron { type FuncJob (line 134) | type FuncJob method Run (line 136) | func (f FuncJob) Run() { f() } FILE: cron_test.go constant OneSecond (line 17) | OneSecond = 1*time.Second + 50*time.Millisecond type syncWriter (line 19) | type syncWriter struct method Write (line 24) | func (sw *syncWriter) Write(data []byte) (n int, err error) { method String (line 31) | func (sw *syncWriter) String() string { function newBufLogger (line 37) | func newBufLogger(sw *syncWriter) Logger { function TestFuncPanicRecovery (line 41) | func TestFuncPanicRecovery(t *testing.T) { type DummyJob (line 60) | type DummyJob struct method Run (line 62) | func (d DummyJob) Run() { function TestJobPanicRecovery (line 66) | func TestJobPanicRecovery(t *testing.T) { function TestNoEntries (line 86) | func TestNoEntries(t *testing.T) { function TestStopCausesJobsToNotRun (line 98) | func TestStopCausesJobsToNotRun(t *testing.T) { function TestAddBeforeRunning (line 116) | func TestAddBeforeRunning(t *testing.T) { function TestAddWhileRunning (line 134) | func TestAddWhileRunning(t *testing.T) { function TestAddWhileRunningWithDelay (line 151) | func TestAddWhileRunningWithDelay(t *testing.T) { function TestRemoveBeforeRunning (line 166) | func TestRemoveBeforeRunning(t *testing.T) { function TestRemoveWhileRunning (line 185) | func TestRemoveWhileRunning(t *testing.T) { function TestSnapshotEntries (line 203) | func TestSnapshotEntries(t *testing.T) { function TestMultipleEntries (line 230) | func TestMultipleEntries(t *testing.T) { function TestRunningJobTwice (line 255) | func TestRunningJobTwice(t *testing.T) { function TestRunningMultipleSchedules (line 274) | func TestRunningMultipleSchedules(t *testing.T) { function TestLocalTimezone (line 297) | func TestLocalTimezone(t *testing.T) { function TestNonLocalTimezone (line 325) | func TestNonLocalTimezone(t *testing.T) { function TestStopWithoutStart (line 360) | func TestStopWithoutStart(t *testing.T) { type testJob (line 365) | type testJob struct method Run (line 370) | func (t testJob) Run() { function TestInvalidJobSpec (line 375) | func TestInvalidJobSpec(t *testing.T) { function TestBlockingRun (line 384) | func TestBlockingRun(t *testing.T) { function TestStartNoop (line 409) | func TestStartNoop(t *testing.T) { function TestJob (line 436) | func TestJob(t *testing.T) { function TestScheduleAfterRemoval (line 490) | func TestScheduleAfterRemoval(t *testing.T) { type ZeroSchedule (line 538) | type ZeroSchedule struct method Next (line 540) | func (*ZeroSchedule) Next(time.Time) time.Time { function TestJobWithZeroTimeDoesNotRun (line 545) | func TestJobWithZeroTimeDoesNotRun(t *testing.T) { function TestStopAndWait (line 558) | func TestStopAndWait(t *testing.T) { function TestMultiThreadedStartAndStop (line 674) | func TestMultiThreadedStartAndStop(t *testing.T) { function wait (line 681) | func wait(wg *sync.WaitGroup) chan bool { function stop (line 690) | func stop(cron *Cron) chan bool { function newWithSeconds (line 700) | func newWithSeconds() *Cron { FILE: logger.go type Logger (line 19) | type Logger interface function PrintfLogger (line 28) | func PrintfLogger(l interface{ Printf(string, ...interface{}) }) Logger { function VerbosePrintfLogger (line 34) | func VerbosePrintfLogger(l interface{ Printf(string, ...interface{}) }) ... type printfLogger (line 38) | type printfLogger struct method Info (line 43) | func (pl printfLogger) Info(msg string, keysAndValues ...interface{}) { method Error (line 52) | func (pl printfLogger) Error(err error, msg string, keysAndValues ...i... function formatString (line 61) | func formatString(numKeysAndValues int) string { function formatTimes (line 77) | func formatTimes(keysAndValues []interface{}) []interface{} { FILE: option.go type Option (line 8) | type Option function WithLocation (line 11) | func WithLocation(loc *time.Location) Option { function WithSeconds (line 19) | func WithSeconds() Option { function WithParser (line 26) | func WithParser(p ScheduleParser) Option { function WithChain (line 34) | func WithChain(wrappers ...JobWrapper) Option { function WithLogger (line 41) | func WithLogger(logger Logger) Option { FILE: option_test.go function TestWithLocation (line 10) | func TestWithLocation(t *testing.T) { function TestWithParser (line 17) | func TestWithParser(t *testing.T) { function TestWithVerboseLogger (line 25) | func TestWithVerboseLogger(t *testing.T) { FILE: parser.go type ParseOption (line 15) | type ParseOption constant Second (line 18) | Second ParseOption = 1 << iota constant SecondOptional (line 19) | SecondOptional constant Minute (line 20) | Minute constant Hour (line 21) | Hour constant Dom (line 22) | Dom constant Month (line 23) | Month constant Dow (line 24) | Dow constant DowOptional (line 25) | DowOptional constant Descriptor (line 26) | Descriptor type Parser (line 48) | type Parser struct method Parse (line 88) | func (p Parser) Parse(spec string) (Schedule, error) { function NewParser (line 71) | func NewParser(options ParseOption) Parser { function normalizeFields (line 160) | func normalizeFields(fields []string, options ParseOption) ([]string, er... function ParseStandard (line 229) | func ParseStandard(standardSpec string) (Schedule, error) { function getField (line 236) | func getField(field string, r bounds) (uint64, error) { function getRange (line 252) | func getRange(expr string, r bounds) (uint64, error) { function parseIntOrName (line 321) | func parseIntOrName(expr string, names map[string]uint) (uint, error) { function mustParseInt (line 331) | func mustParseInt(expr string) (uint, error) { function getBits (line 344) | func getBits(min, max, step uint) uint64 { function all (line 360) | func all(r bounds) uint64 { function parseDescriptor (line 365) | func parseDescriptor(descriptor string, loc *time.Location) (Schedule, e... FILE: parser_test.go function TestRange (line 12) | func TestRange(t *testing.T) { function TestField (line 60) | func TestField(t *testing.T) { function TestAll (line 80) | func TestAll(t *testing.T) { function TestBits (line 101) | func TestBits(t *testing.T) { function TestParseScheduleErrors (line 121) | func TestParseScheduleErrors(t *testing.T) { function TestParseSchedule (line 140) | func TestParseSchedule(t *testing.T) { function TestOptionalSecondSchedule (line 184) | func TestOptionalSecondSchedule(t *testing.T) { function TestNormalizeFields (line 206) | func TestNormalizeFields(t *testing.T) { function TestNormalizeFields_Errors (line 270) | func TestNormalizeFields_Errors(t *testing.T) { function TestStandardSpecSchedule (line 315) | func TestStandardSpecSchedule(t *testing.T) { function TestNoDescriptorParser (line 353) | func TestNoDescriptorParser(t *testing.T) { function every5min (line 361) | func every5min(loc *time.Location) *SpecSchedule { function every5min5s (line 365) | func every5min5s(loc *time.Location) *SpecSchedule { function midnight (line 369) | func midnight(loc *time.Location) *SpecSchedule { function annual (line 373) | func annual(loc *time.Location) *SpecSchedule { FILE: spec.go type SpecSchedule (line 7) | type SpecSchedule struct method Next (line 58) | func (s *SpecSchedule) Next(t time.Time) time.Time { type bounds (line 15) | type bounds struct constant starBit (line 53) | starBit = 1 << 63 function dayMatches (line 179) | func dayMatches(s *SpecSchedule, t time.Time) bool { FILE: spec_test.go function TestActivation (line 9) | func TestActivation(t *testing.T) { function TestNext (line 74) | func TestNext(t *testing.T) { function TestErrors (line 202) | func TestErrors(t *testing.T) { function getTime (line 217) | func getTime(value string) time.Time { function TestNextWithTz (line 248) | func TestNextWithTz(t *testing.T) { function getTimeTZ (line 275) | func getTimeTZ(value string) time.Time { function TestSlash0NoHang (line 294) | func TestSlash0NoHang(t *testing.T) {