Comparing version 3.0.0-beta.1 to 3.0.0-beta.2
@@ -0,1 +1,18 @@ | ||
## [3.0.0-beta.2](https://github.com/kelektiv/node-cron/compare/v3.0.0-beta.1...v3.0.0-beta.2) (2023-08-15) | ||
### 🐛 Bug Fixes | ||
* replace loop timeout by max match date ([#686](https://github.com/kelektiv/node-cron/issues/686)) ([c685c63](https://github.com/kelektiv/node-cron/commit/c685c63a6d7fa86d6c8afca29b536b9da24e824b)) | ||
### 🚨 Tests | ||
* update new test for cron standard alignments ([ea56fc1](https://github.com/kelektiv/node-cron/commit/ea56fc1c32905d711b160823fc09f39169dd3efd)) | ||
### ⚙️ Continuous Integrations | ||
* **renovate:** configure renovate ([#683](https://github.com/kelektiv/node-cron/issues/683)) ([9dbe962](https://github.com/kelektiv/node-cron/commit/9dbe962fad1c8b1b020441bce84ab91b1a7b4415)) | ||
## [3.0.0-beta.1](https://github.com/kelektiv/node-cron/compare/v2.3.1...v3.0.0-beta.1) (2023-07-23) | ||
@@ -12,5 +29,40 @@ | ||
## [2.4.1](https://github.com/kelektiv/node-cron/compare/v2.4.0...v2.4.1) (2023-08-14) | ||
### 🐛 Bug Fixes | ||
* replace loop timeout by max match date ([#686](https://github.com/kelektiv/node-cron/issues/686)) ([c685c63](https://github.com/kelektiv/node-cron/commit/c685c63a6d7fa86d6c8afca29b536b9da24e824b)) | ||
### ⚙️ Continuous Integrations | ||
* **renovate:** configure renovate ([#683](https://github.com/kelektiv/node-cron/issues/683)) ([9dbe962](https://github.com/kelektiv/node-cron/commit/9dbe962fad1c8b1b020441bce84ab91b1a7b4415)) | ||
## [2.4.0](https://github.com/kelektiv/node-cron/compare/v2.3.0...v2.4.0) (2023-07-24) | ||
### ✨ Features | ||
* import type definitions from [@types](https://github.com/types)/cron ([d8a2f14](https://github.com/kelektiv/node-cron/commit/d8a2f140b59f063897dd20b7bb4dc7f599d2435b)) | ||
### 🐛 Bug Fixes | ||
* don't start job in setTime if it wasn't running ([7e26c23](https://github.com/kelektiv/node-cron/commit/7e26c23e06277bfeb04525c71b67703392dbb8b2)) | ||
### 🛠 Builds | ||
* **npm:** ship type definitions with releases ([0b663a8](https://github.com/kelektiv/node-cron/commit/0b663a8584f87cbec63042a4c217f43f38869fc4)) | ||
### 🚨 Tests | ||
* add test case for [#598](https://github.com/kelektiv/node-cron/issues/598) fix ([4322ef2](https://github.com/kelektiv/node-cron/commit/4322ef29fa8af201aed5cdf8b829d411311fe025)) | ||
* don't stop/start job before using setTime ([f0d5d3f](https://github.com/kelektiv/node-cron/commit/f0d5d3f32eddb8fd77b84438fe471fd374b34566)) | ||
### ⚙️ Continuous Integrations | ||
* add support for beta & maintenance releases ([#677](https://github.com/kelektiv/node-cron/issues/677)) ([c6fc842](https://github.com/kelektiv/node-cron/commit/c6fc8429e905b38b05ba428e0df4a0fea273614a)) | ||
@@ -23,2 +75,3 @@ * setup conventional commits & release automation ([#673](https://github.com/kelektiv/node-cron/issues/673)) ([c6f39ff](https://github.com/kelektiv/node-cron/commit/c6f39ff384041b7f91566fc935a9b961d453dd14)) | ||
* update default branch name ([#678](https://github.com/kelektiv/node-cron/issues/678)) ([7471e95](https://github.com/kelektiv/node-cron/commit/7471e95cb7433b4f29cfa68da0a652ec8cf630b6)) | ||
* wrap setTime tests in describe and move down ([31989e0](https://github.com/kelektiv/node-cron/commit/31989e06f939bf1e9dbc6c0b6fc62c0a7144b9eb)) | ||
@@ -25,0 +78,0 @@ ## [v2.3.1](https://github.com/kelektiv/node-cron/compare/v2.3.0...v2.3.1) (2023-05-25) |
@@ -263,6 +263,10 @@ const CONSTRAINTS = [ | ||
// it shouldn't take more than 5 seconds to find the next execution time | ||
// being very generous with this. Throw error if it takes too long to find the next time to protect from | ||
// infinite loop. | ||
const timeout = Date.now() + 5000; | ||
/** | ||
* maximum match interval is 8 years: | ||
* crontab has '* * 29 2 *' and we are on 1 March 2096: | ||
* next matching time will be 29 February 2104 | ||
* source: https://github.com/cronie-crond/cronie/blob/0d669551680f733a4bdd6bab082a0b3d6d7f089c/src/cronnext.c#L401-L403 | ||
*/ | ||
const maxMatch = luxon.DateTime.now().plus({ years: 8 }); | ||
// determine next date | ||
@@ -272,7 +276,7 @@ while (true) { | ||
// hard stop if the current date is after the expected execution | ||
if (Date.now() > timeout) { | ||
// hard stop if the current date is after the maximum match interval | ||
if (date > maxMatch) { | ||
throw new Error( | ||
`Something went wrong. It took over five seconds to find the next execution time for the cron job. | ||
Please refer to the canonical issue (https://github.com/kelektiv/node-cron/issues/467) and provide the following string if you would like to help debug: | ||
`Something went wrong. No execution date was found in the next 8 years. | ||
Please provide the following string if you would like to help debug: | ||
Time Zone: ${zone || '""'} - Cron String: ${this} - UTC offset: ${date.offset} | ||
@@ -279,0 +283,0 @@ - current Date: ${luxon.DateTime.local().toString()}` |
{ | ||
"name": "cron", | ||
"description": "Cron jobs for your node", | ||
"version": "3.0.0-beta.1", | ||
"version": "3.0.0-beta.2", | ||
"author": "Nick Campbell <nicholas.j.campbell@gmail.com> (https://github.com/ncb000gt)", | ||
@@ -6,0 +6,0 @@ "bugs": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
61576
1129