Mohamed Sohail
127fac2e90
fix: NewScheduler incorrectly creates underlying Client, closing broker properly ( #977 )
...
* fix: NewScheduler wrongly creates a client whose sharedConnection value is always true
* This is affecting the PeriodicManager as well as the Scheduler
* fix: closing the Client also closes the broker
* The error was also previously unhandled. For shared connections an error will be returned by the broker itself because the sharedConnection bool is also set on the client. This also means we can get rid of the sharedConnection flag on the Scheduler itself and let it work internally.
2024-12-06 08:40:04 +03:00
Khash Sajadi
80479b528d
Include registration error in the log ( #657 )
...
* Include registration error in the log
* remove chatty debug log
this will show in the logs every 5 seconds as debug (not even trace) which leads to a lot of noise
2024-11-13 14:09:59 +03:00
Pior Bastida
4f00f52c1d
Add the scheduler option HeartbeatInterval ( #956 )
...
* Add the scheduler option HeartbeatInterval
* Fix possible premature expiration of scheduler entries
2024-11-07 08:34:28 +03:00
Pior Bastida
03f4799712
Run golangci-lint in CI ( #927 )
...
* Setup golangci-lint in CI and local-dev
* Fix linting error or locally disable linter
2024-10-26 08:48:12 +03:00
Patrick Barnum
b1e13893ff
[RFC] Adds Ping() to client/scheduler/server ( #585 )
...
* [RFC] Adds Ping() to client/scheduler/server
* Checks for scheduler state closed
2024-10-19 09:44:06 +03:00
Mohammed Sohail
461d922616
docs: apply recommendaded updates
...
* additionally, we log an erro in the case the redis client cannot shutdown in the scheduler
2024-10-19 09:05:17 +03:00
Jeroen Bobbeldijk
9e548fc097
Implement reusing redis client
2023-09-19 11:20:32 +02:00
Emanuel Bennici
0275df8df4
Update redis/go-redis to v9
...
Version v9 implements the support for Redis v7 and has some
other improvements.
2023-04-17 22:30:33 -07:00
徐胖
c70ff6a335
fix a missing ticker.stop()
2022-06-26 13:10:06 -07:00
Ken Hibino
d0209d9273
Remove error log from Scheduler
2022-06-04 12:48:56 -07:00
Chih Sean Hsu
e0e5d1ac24
Add pre and post enqueue callback options for Scheduler
2022-05-27 10:50:02 -07:00
Trịnh Đức Bảo Linh
30d409371b
Fix comment typos
2022-05-16 21:14:15 -07:00
Ken Hibino
25832e5e95
Fix bug related to concurrently executing server state changes
2022-01-12 09:10:56 -08:00
Jason White
b3ef9e91a9
Upgrade go-redis/redis to version 8
2021-09-02 05:56:02 -07:00
Ken Hibino
cfd1a1dfe8
Make scheduler methods thread-safe
2021-08-17 17:10:53 -07:00
Ken Hibino
a9feec5967
Change TaskInfo to use public fields instead of methods
2021-06-29 16:34:21 -07:00
Ken Hibino
b835090ad8
Update Client.Enqueue to return TaskInfo
2021-06-29 16:34:21 -07:00
Ken Hibino
9c95c41651
Change Server API
...
* Rename ServerStatus to ServerState internally
* Rename terminate to shutdown internally
* Update Scheduler API to match Server API
2021-06-29 16:34:21 -07:00
Ken Hibino
476812475e
Change payload to byte slice
2021-06-29 16:34:21 -07:00
Ken Hibino
de28c1ea19
Add Unregister method to Scheduler
2021-03-10 20:38:44 -08:00
Ken Hibino
97b5516183
Update RedisConnOpt interface
2021-01-31 06:09:40 -08:00
Ken Hibino
6529a1e0b1
Fix scheduler
...
* Delete scheduler history data when scheduler stops
* Fix history trimming bug
2021-01-31 06:09:40 -08:00
Bojan Zivanovic
8f9d5a3352
When a scheduler enqueues a task, log to DEBUG, not INFO. Fixes #223 .
2021-01-13 15:49:56 -08:00
Ken Hibino
1f059eeee1
Update docs for periodic tasks feature
2020-10-13 06:31:47 -07:00
Ken Hibino
96b2318300
Add EnqueueErrorHandler option to SchedulerOpts
2020-10-13 06:31:47 -07:00
Ken Hibino
8312515e64
Update Option interface
...
- Added `String()`, `Type()`, and `Value()` methods to the interface to
aid with debugging and error handling.
2020-10-13 06:31:47 -07:00
Ken Hibino
50e7f38365
Add Scheduler
...
- Renamed previously called scheduler to forwarder to resolve name
conflicts
2020-10-13 06:31:47 -07:00
Ken Hibino
e0a8f1252a
Update scheduler to check and enqueue for only the specified queues.
2020-09-12 12:59:03 -07:00
Ken Hibino
06c4a1c7f8
Limit the number of tasks moved by CheckAndEnqueue to prevent a long
...
running script
2020-06-08 06:06:18 -07:00
Ken Hibino
4492ed9255
Change internal constructor signatures.
...
Created "params" type to avoid positional arguments.
Personally it feels more explicit and reads better.
2020-05-17 13:25:24 -07:00
Ken Hibino
fb38086590
Clean up log messages
...
Moved development purpose log messages to DEBUG level.
2020-05-16 08:00:35 -07:00
Ken Hibino
b63476ddc8
Simplify Logger interface
2020-05-16 08:00:35 -07:00
Ken Hibino
7c7f8e5f30
Move Broker interface to base package
2020-04-19 08:51:17 -07:00
Ken Hibino
f8a94fb839
Define broker interface
2020-04-19 08:51:17 -07:00
Ken Hibino
0bc6eba021
Allow custom logger to be used in Background
2020-03-12 08:40:37 -07:00
Ken Hibino
d664d68fa4
Extract out log package
2020-03-09 07:17:52 -07:00
Ken Hibino
3d9a222bb3
Use sync.WaitGroup for shutdown
2020-02-16 18:22:59 -08:00
Ken Hibino
d33ca98648
Use int as priority value type.
...
Do not use unsigned int for merely non-negative quantities as it
complicates simple arithmetic.
2020-02-13 06:23:51 -08:00
Ken Hibino
db8e9d05c3
Add custom logger
2020-01-22 06:02:53 -08:00
Ken Hibino
cb2ebf18ac
[performance] Skip the overhead of json decoding when scheduling to one
...
queue
2020-01-14 20:46:47 -08:00
Ken Hibino
c62833540c
Add license comment to all src files
2020-01-02 18:13:16 -08:00
Ken Hibino
fef5ae6d3f
Rename poller to scheduler
2019-12-29 10:05:02 -08:00