Skip to content
This repository

Mar 08, 2013

  1. Myron Marston

    Introduce a ShuffledRoundRobin reserver.

    This ensures work is done more evenly across all queues. The
    normal RoundRobin reserver always slightly favors the first
    queue in the list since all workers will start at the same
    spot everytime they get restarted.
    authored March 08, 2013

Feb 21, 2013

  1. Myron Marston

    Merge pull request #80 from neo/remove_missing_image

    remove request for non-existant image
    authored February 21, 2013
  2. remove request for non-existant image

    authored February 21, 2013

Feb 14, 2013

  1. Myron Marston

    Fix lua script cache.

    Previously, it returned a cached LuaScript object that was tied to a particular
    redis connection object, but it could be a different redis connection object
    from the one the client is using. That's because we were caching them based
    on the redis connection URL, since we don't want to reload the scripts into
    the same server multiple times.
    
    However, that caused subtle problems for watch/multi/exec blocks: calling a
    script could, in some situations, no longer be a no-op for an aborted multi
    block (e.g. due to a watched key changing). That's because the semantics of
    a multi block are tied to one redis connection, but the script could be executed
    by a different redis connection if the cached LuaScript object was using
    a different redis connection.
    
    The solution here is to change the cache so that it caches the SHAs and always constructs a new LuaScript object as needed, so that the redis connection
    is always the correct one.
    authored February 14, 2013

Feb 12, 2013

  1. Ben Kirzhner

    Replace all instances of JSON.load with JSON.parse

    authored February 12, 2013

Feb 11, 2013

  1. Myron Marston

    Merge pull request #79 from seomoz/lua_caching

    Lua caching
    authored February 11, 2013
  2. Myron Marston

    Implement a lua script cache.

    It's unnecessary (and slows things down) to load the same script into the same
    redis server multiple times in the same process.
    authored February 11, 2013
  3. Myron Marston

    Lua => LuaScript.

    "LuaScript" is a better name for this class, as it represents a specific lua script, and not the lua language as a whole.
    
    While I was at it, I moved the USING_LEGACY_REDIS_VERSION conditional out of the method and into the class body -- might as well evaulate that branch once at load time rather than once per script call.
    authored February 11, 2013

Feb 08, 2013

  1. Myron Marston

    Expose the client instance off of job instances.

    authored February 08, 2013

Feb 05, 2013

  1. Myron Marston

    Expose the client off of the queue.

    authored February 04, 2013
  2. Myron Marston

    Cleanup whitespace.

    authored February 04, 2013

Feb 01, 2013

  1. Myron Marston

    Merge pull request #77 from seomoz/middlewares

    Middlewares
    authored February 01, 2013
  2. Myron Marston

    Remove code we don't need.

    authored February 01, 2013
  3. Myron Marston

    Expose `job_reservers` off of the worker instance.

    It's useful in some specs I'm writing in our app to have access to this.
    authored February 01, 2013
  4. Myron Marston

    Add RedisReconnect middleware.

    authored February 01, 2013
  5. Myron Marston

    Add sentry middleware.

    authored February 01, 2013

Jan 31, 2013

  1. Myron Marston

    Merge pull request #76 from seomoz/fix-74

    Fix #74 using the "bandaid" solution
    authored January 31, 2013
  2. Ben Kirzhner

    Fixes #74

    authored January 31, 2013

Jan 30, 2013

  1. Myron Marston

    Merge pull request #75 from seomoz/remove_worker_client

    Remove worker client reference.
    authored January 29, 2013

Jan 29, 2013

  1. Myron Marston

    Remove worker client reference.

    The Qless::Worker does not need a reference to a client. It restrict
    flexibility by coupling it to one client like this.  While it does not
    normally make sense to do so, we have a case where would like a
    single worker to pull jobs from queues on multiple qless servers,
    which works just fine because the queue objects themselves know
    what client to talk to.
    authored January 29, 2013
  2. Myron Marston

    Merge pull request #72 from seomoz/allow_multiple_server_uis

    Make the server client instance rather than class state.
    authored January 28, 2013

Jan 28, 2013

  1. Myron Marston

    Resolve constant name starting at Object rather than Kernel.

    Kernel works fine when the constant is defined, but when it
    is undefined, it leads to a confusing error:
    
    `undefined constant Kernel::MyJob`
    
    ...rather than:
    
    `undefined constant MyJob`
    authored January 28, 2013
  2. Myron Marston

    Update rspec.

    Note that this exposed an rspec-mocks bug that I plan to tackle soon:
    
    rspec/rspec-mocks#217
    authored January 28, 2013

Jan 24, 2013

  1. Myron Marston

    Make the server client instance rather than class state.

    We're going to be sharding our qless usage soon and having multiple qless redis servers.  We would like to have on web UI per qless redis server, and each
    needs to be connected to a different qless redis server.
    authored January 23, 2013

Jan 23, 2013

  1. Myron Marston

    Merge pull request #70 from databus23/fix_busyloop_on_paused_worker

    Avoid busy loop when worker is paused.
    authored January 22, 2013

Jan 18, 2013

  1. Fabian Ruff

    Avoid busy loop when worker is paused.

    authored January 18, 2013

Jan 16, 2013

  1. slight rewording of the describe string in the spec

    authored January 16, 2013
  2. Have the child reconnect to redis for 2.2 redis-rb versions too.

    authored January 16, 2013
  3. add a test that verifies the child has reconnected to redis

    authored January 15, 2013
  4. Reconnect to redis on fork as required by redis-rb > 3.0. Fixes #67.

    authored January 15, 2013
  5. Myron Marston

    Don't let Job::CantCompleteErrors take down a worker.

    authored January 15, 2013

Jan 15, 2013

  1. Myron Marston

    Fix #complete so it doesn't silently fail.

    Exceptions are better than `false` values.
    authored January 15, 2013
  2. Myron Marston

    Ensure worker child processes are always killed.

    authored January 15, 2013
  3. Myron Marston

    Move Process.kill to an after hook so it runs consistently.

    authored January 15, 2013
  4. Myron Marston

    Use the correct redis port number.

    authored January 15, 2013
Something went wrong with that request. Please try again.