Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: ascarter/workling
base: master
head fork: FooBarWidget/workling
compare: master
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Apr 24, 2008
grantr apply patch from Dave
adds threading, new routing, MemCache exception handling, and database keep-alive
Commits on May 08, 2008
Larry Diehl Added support for specifying MemCache options in starling.yml c957e91
Commits on May 14, 2008
grantr add Workling::Base.logger
allows you to log to something besides RAILS_DEFAULT_LOGGER.  All
workling classes use Workling::Base.logger if it's set
grantr use Marshal in NotRemoteRunner to better simulate StarlingRunner 13f5eed
grantr use absolute path in workling script
allows running the script without being in rails root
Commits on Jun 03, 2008
@francois francois Accept both asynch_ and async_ for running worklings. b55d03a
@purzelrakete purzelrakete memcache options can now be configured in starling.yml 53070b9
Commits on Jun 07, 2008
@purzelrakete purzelrakete Merge branch 'grantr/master'

@purzelrakete purzelrakete added comments and put in most recent patch updates from dave dupre c17f0ad
@purzelrakete purzelrakete added exceptions handling code from digitalronin aed2cf9
Commits on Jun 08, 2008
@purzelrakete purzelrakete merged in andrew carters changes 3c00ae7
@purzelrakete purzelrakete fixed errors and took threading concerns out of routing f61f4ec
Commits on Jun 09, 2008
@purzelrakete purzelrakete fixed a bunch of tests 50d29e7
@purzelrakete purzelrakete all tests passing again be299c5
Commits on Jun 10, 2008
@purzelrakete purzelrakete fixed the last merging bugs, added a test 7827adb
Commits on Jul 09, 2008
@agibralter agibralter Using fiveruns-memcache-client. 752ab4c
Commits on Sep 02, 2008
@purzelrakete purzelrakete added automatic setting of spawn runner as a default, if spawn plugin…
… is detected
Commits on Sep 04, 2008
@purzelrakete purzelrakete added backgroundjob runner 9698ea0
@purzelrakete purzelrakete fixed tests fa93701
Commits on Sep 30, 2008
@purzelrakete purzelrakete made error logging consistent across runners, improved documentation 61b6682
@purzelrakete purzelrakete copy starling_status into application config directory. further impro…
…vements in README.
@purzelrakete purzelrakete fixed README markdown 435c520
@purzelrakete purzelrakete more README. ced11d1
@purzelrakete purzelrakete refactored detection code 18549af
@purzelrakete purzelrakete autodetection of starling 3c84c45
Commits on Oct 01, 2008
@purzelrakete purzelrakete friendlier error messages when starling was started on the wrong port 2b0b1cb
@purzelrakete purzelrakete fixed tests 101b6c8
@purzelrakete purzelrakete simplified return store syntax a5210b3
@purzelrakete purzelrakete falls back to memcache-client if fiveruns-memcache-client cannot be f…
@purzelrakete purzelrakete plays nice without fiveruns-memcache-client 7e5e11c
@purzelrakete purzelrakete more verbose exception if starling isn't running a85ca1e
Commits on Oct 02, 2008
@purzelrakete purzelrakete added loads of missing method and class documentation, as well as som…
…e further documentation of starling client config options.
Commits on Oct 07, 2008
@zapnap zapnap prevent default dispatcher from being installed before it can be set …
…in environment.rb

(StarlingRunner as default will cause problems otherwise if daemon is not running)
@zapnap zapnap require spawn febaf3d
@dougal dougal Fixed rake rdoc task by properly specifiying README filename. e01976d
Commits on Oct 09, 2008
@purzelrakete purzelrakete Merge branch 'dougal/master' 8321e8f
@purzelrakete purzelrakete pull credits e25fa40
@elight elight Adds Starling clustering; unit test still fails -- possibly due to te…
…st environment configuration issues
@dougal dougal Fixed load/require of class in starling client test. 07ca9b4
@elight elight Merge commit 'HEAD'; commit 'doug-workling/starling_cluster' 014ebca
Commits on Oct 15, 2008
@purzelrakete purzelrakete see Changes.markdown 0.3.1 7328e54
Commits on Oct 17, 2008
@purzelrakete purzelrakete fixed problem running tests when no memcache. added mutex to connecti…
…on resetting, fixed graceful shutdown of worker threads, added graceful shutdown to runner script
@purzelrakete purzelrakete Merge branch 'master' of git:// into elight…
@purzelrakete purzelrakete fixed tests for clustered starling 0ebe031
Commits on Nov 02, 2008
@purzelrakete purzelrakete refactored pollers, initial work cce3786
@purzelrakete purzelrakete generalized starling client to be a memcachequeue client 6a99f1b
Commits on Nov 03, 2008
@purzelrakete purzelrakete more refactoring to accomodate rudeq 6e9cee2
@purzelrakete purzelrakete rudeq now works 9f82a04
@purzelrakete purzelrakete generalized workling_client 3fdf14c
@purzelrakete purzelrakete amended readme 0c42df3
@purzelrakete purzelrakete added rudeq client. remove this when it has been added to rudeq 1978b30
@purzelrakete purzelrakete fixed script deprecation 710e482
Commits on Nov 04, 2008
@purzelrakete purzelrakete added subscription invoker a94cda1
@purzelrakete purzelrakete got tests working with new base classes 8678984
Commits on Nov 06, 2008
@purzelrakete purzelrakete completed the bulk of backend re-architecture 78f744b
@purzelrakete purzelrakete fixes. b46e88a
@purzelrakete purzelrakete all tests passing again c3a5db9
Commits on Nov 07, 2008
@purzelrakete purzelrakete rabbitmq tested and working 9bce1e3
@purzelrakete purzelrakete instructions for rabbitmq 46c2a45
Commits on Nov 08, 2008
@purzelrakete purzelrakete 0.4.1. see changelog for details e8b68a2
@purzelrakete purzelrakete added missing file ca6c1bd
@purzelrakete purzelrakete fixed readme for rabbitmq f202184
Commits on Nov 10, 2008
@purzelrakete purzelrakete 0.4.2, see CHANGES.markdown 4601e41
Commits on Nov 11, 2008
@purzelrakete purzelrakete README fix 0eaddbb
Commits on Nov 25, 2008
@riopro riopro Fixes bj_invoker.rb which was dispatching the job to Bj without the m…
Danilo Sato Fix starling_status.rb to use basic_poller 2ce64a4
Commits on Nov 26, 2008
@purzelrakete purzelrakete new todos 4b89738
Commits on Nov 28, 2008
@purzelrakete purzelrakete fixed WorklingNotFoundError behaviour. now raises with remote runners…
…, too.
@purzelrakete purzelrakete version up ffe565a
Commits on Nov 29, 2008
@purzelrakete purzelrakete turned Workling.load_path into an Array fab7736
Commits on Dec 08, 2008
@rjspotter rjspotter client invokable from outside the application directory cfb7055
Commits on Jan 31, 2009
@purzelrakete purzelrakete workling now throws errors in test and development. this helps for pr…
…oblem analysis
@purzelrakete purzelrakete tweaked logging in case of an exception 897ab1f
Commits on Feb 13, 2009
Brian Cooke fix = vs. == typo that was overwriting my RAILS_ENV and forcing me to…
… use NotRemoteRunner.

Signed-off-by: Rany Keddo <>
Brian Cooke fix another minor typo in the spawn runner.
Signed-off-by: Rany Keddo <>
Commits on Mar 18, 2009
@rtomayko rtomayko Marshal AMQP message data
The AMQP client does not seem to work with the latest tmm1-amqp gem.
The message placed on the queue was the result of calling
value#to_s. When the message was pulled off the queue it was the
string representation of the value hash.

This patch marshals the message Hash before placing publishing it
and then unmarshals when it picks it up.

Signed-off-by: Rany Keddo <>
Commits on Nov 20, 2009
Tom Anderson reconnect! doesn't return status, also no need to break out of block …
…on last statement in the block
Tom Anderson verify! does the reconnect! unless active? e4cb92f
Commits on Feb 01, 2011
@FooBarWidget FooBarWidget Only lock ActiveRecord access with a mutex on ActiveRecord versions t…
…hat aren't completely thread-safe.
@FooBarWidget FooBarWidget Release thread-local ActiveRecord connection when a worker thread is …
@FooBarWidget FooBarWidget Make the tests work when both Rails 2.3 and Rails 3.0 are installed. 94702fc
@FooBarWidget FooBarWidget Optimize ThreadedPoller's inner loop: process work items in a burst w…
…ithout re-verifying the database connection after every item.

And fix a test while we're at it.
@FooBarWidget FooBarWidget Fix support for per-worker class sleep_time and reset_time configs. 06d96a8
@FooBarWidget FooBarWidget Add a 'verify_database_connection' config option which, if set to fal…
…se, prevents Workling from verifying the database connection. Useful optimization for limiting access to the database connection pool.
@FooBarWidget FooBarWidget Optimize Workling.config: don't do unnecessary things after the confi…
…g file has been loaded.
@FooBarWidget FooBarWidget Ability to start multiple threads for a worker class. 2110889
Commits on Feb 04, 2011
@FooBarWidget FooBarWidget We also need to release the AR connection after every dispatch. 3b3a6d8
@FooBarWidget FooBarWidget SystemTimer is not thread-safe; force memcache-client to not use Syst…
@FooBarWidget FooBarWidget We need to disable SystemTimer in workling_client, not just from the …
Commits on Feb 07, 2011
@FooBarWidget FooBarWidget Log exceptions that occur in worker threads. ef5cfd6
Commits on Feb 10, 2011
@FooBarWidget FooBarWidget Fix a potential thread-safety issue in ClientRunner. c7874b6
@FooBarWidget FooBarWidget Buffer worker logs and print them out in batches so that they don't i…
…nterleave each other in the log file. Als log the amount of time each worker took.
Commits on Feb 11, 2011
@FooBarWidget FooBarWidget Fix some bugs in the previous commit. 518d6c1
@FooBarWidget FooBarWidget Sending SIGQUIT to the Workling client now makes it print a detailed …
…status report.
@FooBarWidget FooBarWidget Refine status report. 7a2b3be
@FooBarWidget FooBarWidget Make sure ActiveRecord debugging messages and the like are buffered a…
…long with the Workling messages.
Commits on Feb 14, 2011
@FooBarWidget FooBarWidget Make ThreadLocalLogger.formatter work. f0e0954