npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

kickq

v1.1.0

Published

Kick jobs out the door. Quickly. A job queue for node

Downloads

57

Readme

Kickq

Kick Jobs out the door, quickly!

A Robust Node.js queueing service based on redis.

Build Status

Install

npm install kickq --save

Documentation

The full documentation can be found in the project's wiki.

The Core API

Utilities and Helpers

Notes on v1.x.x Upgrade

On August 23rd 2015 Kickq got a major version bump from v0.2.4 to v1.0.0. The whole of the Kickq codebase has been rehauled and updated using the latest libraries and patterns in Node.js, no API changes were made, Kickq should continue to operate as it was. A very small change has happened in a single processing object attribute which is insignificant and you probably didn't ever care about, id you did read more about it in the wiki.

What changed:

Moved to Bluebird Promises library

We've let go of when in favor of Bluebird. This is a major change in how Kickq operates as when Kickq was first built Promise libraries where not very performant so we used a specific version of When (1.8.1) which resolved promises Synchronously (vs asynchronously as the spec dictates). We've come a long way since then so the core Promise library change was long overdue.

More robust Promises patterns were applied throughout the codebase.

Refactored Worker Controller

The Worker controller is the module responsible for fetching job from the queue and providing them to the consumer worker for processing. The whole system has been refactored and rehauled to be more robust and handle all outcomes (error or not) more diligently and specifically.

Redis connectivity monitor

We've created a master Redis Connectivity monitor which is responsible for letting the rest of the system know of Redis Connectivity State and emit events when a change occurs, Redis goes down or comes up.

Thus Kickq will now handle Redis disconnects way more softly and patiently wait for the connection to be re-established.

Logging

We've lowered the logging verbosity quite a bit and restructured the logs so they make more sense.

General Styling

The whole of the codebase has been brought up to 2015 Node state in regards to styling.

Authors

Release History

  • v1.1.0, 05 Feb 2016
    • Removed node-syslog package and logging to syslog functionality.
    • Upgraded all packages to latest.
  • v1.0.0, 23 Aug 2015
    • Major rehaul and refactoring of Kickq.
    • Changed core Promises Library from When to Bluebird.
    • Rewritten the Worker Controller which is responsible for fetching and providing the jobs to the consumer worker.
    • Introduced the master Redis Connectivity monitor, Kickq now handles disconnects way more gracefully, and will restore operations when Redis re-connection occures.
    • Reduced Logging verbosity and tweaked existing one to be more informant.
  • v0.2.4, 30 Jun 2015
    • Lightened up the npm install bundle using npmingore and better devdeps, thankyou @lbeschastny
  • v0.2.3, 16 Jun 2015
    • Accept any truthy value as an error callback in job processing.
  • v0.2.2, 22 Apr 2015
    • Restore node-syslog package and test vs 0.12 in travis.
  • v0.2.1, 04 Apr 2015
    • Set the log level properly.
  • v0.2.0, 26 Mar 2015
    • Made Kickq compatible with node 0.12.0 and incompatible with node 0.8.0, thankyou @lbeschastny
  • v0.1.0, 17 Feb 2015
    • Updated all dependencies to latest.
    • Adjusted unit tests.
    • Poke poke, is this on?
  • v0.0.16, 03 May 2013
    • Fixed back in .get() method, not invoking callback when no results.
    • Renamed kickq.error to kickq.Error for semantic correctness.
    • Cleaned up error objects.
  • v0.0.15, 27 Apr 2013
    • Now publishes on kickq:delete for all job ites that get deleted.
    • Delete now removes all traces of job item.
    • Bug fix when job failed and test case to avoid regression.
  • v0.0.14, 27 Apr 2013
    • Added time index.
    • Fixed state bug when job failed.
    • More debugging logs.
  • v0.0.13, 26 Apr 2013
    • Global Job Item configuration options were not applied to new job items, fixed.
    • Bug fixes on Job Item when processing timedout.
    • More test cases.
  • v0.0.12, 26 Apr 2013
    • Perform state record creation.
    • More logging for debugging purposes.
  • v0.0.10, 26 Apr 2013
    • Simplified logger level configuration.
    • More logging messages.
    • Lax stress tests margins.
  • v0.0.9, 26 Apr 2013
    • A mythical bug of epic proportions, redis client connected before config was set.
  • v0.0.7, 24 Apr 2013
    • Enabled purging of completed jobs.
    • More tests for job item.
    • More logging is performed when kickq fails.
  • v0.0.6, 24 Apr 2013
    • Fixed metrics stop bug.
    • Exposed more internal libs.
    • Auto-fetches ver info.
  • v0.0.5, 23 Apr 2013
    • Created the Metrics module.
    • Several bug fixes.
    • Exposed more internal parts for better plugin integration.
  • v0.0.4, 18 Apr 2013
    • Created Worker Guard that ensures worker's health.
    • kickq is now resilient to redis disconnections and errors.
    • Worker error throttler refactored.
    • Now saves to syslog instead of db.
  • v0.0.2, 16 Apr 2013
    • Added Logging facility.
    • Performance optimizations.
    • Implemented the .get() method for fetching job items.
  • v0.0.1, 11 Apr 2013
    • Big Bang

License

Copyright 2016 Verbling (Fluency Forums Corporation)

Licensed under the MIT License