Skip to content

Releases: jhuckaby/Cronicle

Version 0.7.0

25 Aug 22:59
Compare
Choose a tag to compare

Quite a few changes and fixes in this release:

  • New standard Plugin for making HTTP requests.

    • Can send HTTP GET, HEAD, or POST requests with custom headers.
    • Tracks performance metrics, can also match content for success/error.
  • Much improved handling of detached jobs on Cronicle restart / upgrade.

    • Detached jobs will now seamlessly recover after any server restart (as long as the server wasn't down for dead_job_timeout+).
  • Shell Plugin Improvements

    • New optional log timestamp annotation for Shell Plugin.
    • Improvements to logging and error handling.
    • STDERR is now captured separately, and displayed in its own custom HTML section on the job details page (up to first 32K). Everything is still logged of course.
    • First line of STDERR is now added to final description, in the event of an error, if less than 256 chars.
  • Fixed elapsed time for detached jobs.

    • The elapsed time was being calculated from when the master daemon finished the job, but this may be up to 60 seconds AFTER the job itself completed, for detached jobs, because they send status updates by way of queue files. This corrects that by allowing the child to set the time_end property in the job JSON.
    • Note that this DOES introduce a possible issue with clock sync between servers in the same cluster.
  • Fixed bugs related to missing environment variables on server reboot and init.d.

    • Now always calling Tools.getpwnam() for user info on job launch.
    • This will correct issues like the shell environment missing things like HOME when init.d launches the Cronicle daemon after a server reboot.
  • Bug fix: Increment stats.jobs_failed when a job fails to launch (server unavailable, etc.).

  • Disabled Uglify on client-side JavaScript for now.

    • Makes things easier to debug on production, and the content is gzipped anyway.
  • Increased default dead_job_timeout to 120 seconds.

    • Upgrading servers may take longer than 30 seconds, and don't want detached jobs to be declared dead.
  • Locked some top-level npm package versions, just for a bit of safety (npm-shrinkwrap would be better long term).

Version 0.6.16

11 Jun 23:58
Compare
Choose a tag to compare

Just a few bug fixes in this version:

  • #29 - Cronicle Master tries to communicate with the cronicle slave on Private IP and effectively communication fails
  • #30 - Cronicle crash after a week
  • Fixed bug where starting a job manually then quickly clicking the link to view it live would result in a UI error.

Version 0.6.15

07 May 17:12
Compare
Choose a tag to compare

This version only contains one small cosmetic bug fix:

  • Issue #28 - Event names not showing on Completed tab after deleting event

The fix also supports preserving deleted category or plugin names as well.

Version 0.6.14

29 Apr 23:06
Compare
Choose a tag to compare

A few small changes and bug fixes in this release:

  • Support for new web_hook_custom_data config parameter, for sending custom JSON data along with each web hook HTTP POST. Should fix #20.
  • Support for new web_hook_ssl_cert_bypass config parameter, for disabling SSL cert validation for web hook URLs (should only be needed in special cases).
  • More strict validation of event data when calling APIs such as create_event, update_event, run_event and update_job. Should prevent malformed data from crashing the main process. Should fix #25.
  • Now only logging job completions to the admin activity log if the job fails (non-zero code). Successful job completions are only logged in the "Complete" tab.
  • More verbose logging for all web hook HTTP responses (debug level 9).
  • Bug fix: Was incorrectly logging phantom error message for a non-error when job runs.
  • Fixed broken unit test which was expecting activity log to have all job completions.

Thanks to everyone who reported bugs!

Version 0.6.13

25 Apr 04:07
Compare
Choose a tag to compare

This is a minor release with a few small changes / bug fixes:

  • No longer logging every job completion to the Activity tab, as it clogs up so you often miss important events. Listing all job completions here is redundant, as they are all listed on the Completed tab anyway.
    • Manual job launches are still logged here (UI or API Key).
  • Unexpected slave server disconnections and reconnections are now logged in the Activity tab.
  • New job_env config object allows you to specify default environment variables passed to all job processes.
  • Fixed issue #23: Possible crash when choosing certain server selection algorithms.
  • A code change to pixl-config should fix issue #21.

Version 0.6.12

09 Apr 21:48
Compare
Choose a tag to compare

This release adds mail_options for configuring settings sent to the SMTP server:

Set specific mailer options, such as SMTP SSL and authentication, passed directly to pixl-mail (and then to nodemailer-smtp-transport). Example:

"mail_options": {
	'secure', true,
	'auth', { user: 'fsmith', pass: '12345' },
	connectionTimeout: 10000, // milliseconds
	greetingTimeout: 10000, // milliseconds
	socketTimeout: 10000 // milliseconds
}

Thanks to user @MingqingLi for reporting this issue.

Version 0.6.11

09 Mar 16:52
Compare
Choose a tag to compare

Just a single change in this release:

  • Randomized detached job update frequency as to not bash the queue directory when multiple detached jobs are running, and also to better catch the minute updates of the daemon.

Version 0.6.10

09 Mar 03:28
Compare
Choose a tag to compare

One bug fix and one new feature in this release:

  • Fixed bug where detached jobs would crash if the job command-line exec contained any arguments (typo).
  • Progress events emitted by detached jobs are now processed and the UI updated (once per minute).

Version 0.6.9

18 Feb 02:26
Compare
Choose a tag to compare

Two fixes in this release:

  • Nightly maintenance scalability: Now chopping lists manually, and not using listSplice(). This is to reduce memory usage for extremely high job traffic installations.
  • Should fix #13 - coredump occurs around 4 o'clock on master
  • Cosmetic fix in CSS for drop-down menus in Chrome.

Version 0.6.8

17 Feb 05:30
Compare
Choose a tag to compare

Just a few small changes / fixes in this release:

  • New Error.log contains all errors (used to be in Cronicle.log).
  • New Transaction.log contains all transactions (used to be in Cronicle.log).
  • More tweaks to socket.io-client to make it more resilient with bad server connections.

So now Cronicle.log will only contain debugging messages, and errors and transactions are broken out into their own separate logs. Note that this only happens when you use the default log_filename that uses the [component] placeholder macro like this:

"log_filename": "[component].log",

If you change this to be a static filename, all log entries will be merged in the same log (except for crash.log and install.log which are always separate).