Commit Graph

55 Commits

Author SHA1 Message Date
Copilot 5b307f56dd
docs: clarify NextRun/NextRuns require scheduler to be started (#910)
* Initial plan

* docs: clarify NextRun and NextRuns return empty values until scheduler is started

Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>

* docs: remove unhelpful inline comments from NextRun/NextRuns examples

Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>
Agent-Logs-Url: https://github.com/go-co-op/gocron/sessions/9686e808-ae5e-4bc8-ad00-f78a1a7b079d

* docs: restore inline comments for NextRun/NextRuns examples

Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>
Agent-Logs-Url: https://github.com/go-co-op/gocron/sessions/df5afb1e-5c66-4615-9967-a2efc2419d87

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>
2026-03-20 11:58:16 -05:00
John Roesler 7a1855ef7a
feat: expose default cron implementation (#906) 2025-12-10 13:57:36 -06:00
John Roesler 5b2fe32639
fix: WithStartDateTimePast now correctly calculates from past time (#897) 2025-11-24 10:08:17 -06:00
OsipovMax 46660bbfb3
fix: limit validation for WithLimitedRuns (#893)
Co-authored-by: Maksim Osipov <osipov.maksim39@rwb.ru>
Co-authored-by: John Roesler <johnrroesler@gmail.com>
2025-11-05 13:19:14 -06:00
Yash Chauhan 3ee53e03d9
feat: Add option to calculate intervals from job completion time for interval-based scheduling (fixes #565) (#884) 2025-10-21 22:09:46 -05:00
John Roesler 6a30d6d8b9
feat: add WithStartDateTimePast WithStartAt option (#882) 2025-10-09 21:45:13 -05:00
John Roesler 70468cccd8
fix: handle negative time.durations with error (#878) 2025-10-08 15:50:07 -05:00
Copilot 9e8c79dc9b
Fix memory consumption issue by changing jobOutRequest channels to use pointers and reducing buffer size (#864)
* Initial plan

* Fix memory consumption issue by changing jobOutRequest channels to use pointers

Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>

* Change jobOutRequest channel buffer size from 1000 to 100

Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JohnRoesler <19351306+JohnRoesler@users.noreply.github.com>
Co-authored-by: John Roesler <johnrroesler@gmail.com>
2025-08-27 11:03:34 -05:00
John Roesler 69b4347c4c
clean up 2025-02-24 21:30:14 -06:00
Om Limdiwala 36cd85fc61
feat:custom-cron interface for own custom cron implimentation (#834)
* feat:custom-cron interface for own custom cron implimentation

* feat: tranfer the custom cron implimentation in the job options

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: John Roesler <johnrroesler@gmail.com>
2025-02-24 21:26:16 -06:00
apocelipes 0c4a1a3292
replace "golang.org/x/exp" with standard libraries (#823) 2025-01-31 09:17:45 -06:00
John Roesler 5b49603168
working to handle edge cases where a job can be run twice, unexpectedly (#810) 2025-01-28 21:22:56 -06:00
John Roesler 6133a24ae2
clarify context docs 2025-01-23 14:21:18 -06:00
John Roesler 96fe017828
clarify context docs 2025-01-23 14:09:03 -06:00
John Roesler 8df2bbf7cd
clarify context docs 2025-01-23 14:07:29 -06:00
John Roesler ce204f9d74
check context not nil, and update test and docs (#820) 2025-01-23 13:30:12 -06:00
Guang Jiong Lou 50966c7365
cancel running jobs if possible when run Scheduler.StopJobs() (#819)
* cancel running job when run Scheduler.StopJobs()

Signed-off-by: lou <alex1988@outlook.com>

* trivial

Signed-off-by: lou <alex1988@outlook.com>

* Update scheduler_test.go

---------

Signed-off-by: lou <alex1988@outlook.com>
Co-authored-by: John Roesler <johnrroesler@gmail.com>
2025-01-23 12:27:28 -06:00
Tom Morelly cc66c780d8
feat(eventListener): add BeforeJobRunsSkipIfBeforeFuncErrors() (#813) 2025-01-08 19:21:13 -06:00
Hossein Shahsahebi f5a5a2d0bc
feat: allow disabling global distributed locker per job (#811)
* chore: fix distributed locker tests

* feat: allow disabling global dist locker per job
2025-01-03 15:12:34 -06:00
John Roesler bf751076f3
creating a new slice in several job options because appending modifies original (#809)
* creating a new slice in several job options because appending modifies original

* add tests
2025-01-03 10:18:18 -06:00
John Roesler c180381e94
parse time.Time from AtTime (#806) 2024-12-17 11:38:16 -06:00
John Roesler 560a9dc9e4
stop timeout timers when no longer needed (#803) 2024-12-11 10:43:27 -06:00
John Roesler 46bcd8e030
weekly and monthly jobs should not allow zero interval (#792) 2024-10-31 11:42:35 -05:00
John Roesler 4baf341092
dailyjob should not allow interval zero (#791) 2024-10-31 10:52:35 -05:00
Rodrigo Broggi 838bd518a0
Issue 778 (#779) 2024-09-19 08:18:50 -05:00
John Roesler 3ccd68d676
handle crontab and return error with invalid day in a month (#766) 2024-08-09 10:11:54 -05:00
Higan 3b2dcd869b
issue-654: allow setting a stopTime for job. (#760) 2024-07-19 13:10:28 -05:00
John Roesler 256265f9a2
internal refactoring of JobOption constructor, clock moved to exec (#761) 2024-07-18 11:32:56 -05:00
Derrick Hammer 63a6458a5b
feat: add WithIdentifier (#753) (#754) 2024-07-10 09:51:37 -05:00
Rodrigo Broggi 212db8e476
issue-740: ascending time function (#744)
* issue-740: ascending time function

* issue-740: update documentation

* issue-740: un-export ascending function

* issue-740: sentence correction
2024-06-23 13:14:35 -05:00
Rodrigo Broggi 64d6e48dae
issue-740: expand oneTimeJob to support multiple times (#741) 2024-06-21 16:51:42 -05:00
Rodrigo Broggi fd18ca7b52
issue-736: moving validation of one-time to (#737)
Co-authored-by: John Roesler <johnrroesler@gmail.com>
2024-06-20 14:21:05 -05:00
Rodrigo Broggi 9e83a13c14
issue-738: make withSeconds optional in cron-expression (#739) 2024-06-20 13:56:48 -05:00
Trung Duong 399ac2807b
Add `AfterJobRunsWithPanic` (#733) 2024-06-20 07:01:36 -05:00
Manuel Doncel Martos 894970124c
after lock error listener (#734)
* after job listener

* fixing lint issues

---------

Co-authored-by: lv90no <manuel.doncel.martos@ing.com>
2024-06-19 06:33:50 -05:00
John Roesler 525b361a3f
adding Job.NextRuns to provide n next run times (#729)
* adding Job.NextRuns to provide n next run times

* skip test in ci

* skip test in ci
2024-05-06 14:07:44 -05:00
Scot Bontrager 917cca7f5c
don't trash the incoming slice, match what was done in NewAtTime (#724) 2024-05-01 22:30:07 -05:00
Giridharan Ramasamy 3faf525f98
Added Distributed Locker to JobOptions (#711) 2024-04-22 13:52:27 -05:00
John Roesler 3b653b99e4
fix nextRun with singleton mode reporting incorrect time (#705)
* fix nextRun with singleton mode reporting incorrect time

* only remove past if >1, sort next scheduled

* update test, remove no longer needed lastScheduledRun
2024-04-05 20:56:22 -05:00
John Roesler 9ae7545c27
add another out channel so we can properly report lastRun (#700)
* add another out channel so we can properly report lastRun

* don't block on channel send

* add tests
2024-03-26 09:55:21 -05:00
墨语 5b1cf9c619
return an error if duration is zero (#701) 2024-03-25 15:58:47 -05:00
John Roesler 27f2cbaa41
fix cases where default on send out is resulting in job not going out (#686) 2024-03-05 10:55:42 -06:00
John Roesler 0d01bb42c9
correct AfterJobRuns doc (#670) 2024-02-02 14:44:39 -06:00
John Roesler 5a894989c7
fix monthly jobs when counting days from the end (#662) 2024-01-21 16:04:16 -06:00
John Roesler a51820e30f
fixup Job and Scheduler interface docs 2023-12-20 15:16:16 -06:00
John Roesler 6e15f16d77
add new features, OneTimeJob and Job.RunNow() (#646) 2023-12-18 21:13:37 -06:00
John Roesler 9803aad10f
fix weekly and monthly to handle midnight (#643) 2023-12-17 08:03:44 -06:00
John Roesler b0fdf551b9
daily job next logic failed to consider 1 midnight attime (#635) 2023-12-13 15:54:12 -06:00
John Roesler aa4400d224
Update docs, tests, and release prep (#629) 2023-12-11 10:39:59 -06:00
John Roesler 5814fbcb6f
allow max concurrent runs and singleton mode together (#625) 2023-11-28 06:48:22 -06:00