{"push_id":884233288,"size":10,"distinct_size":10,"ref":"refs/heads/feature-new-dwp","head":"40952acc8a7b6ed28962b6a4264e54eb1851b6f2","before":"1ccd727ffd2e4b7f2cfa75e2e663b11bb4b04e3e","commits":[{"sha":"392f22ccb52f7c6132f6cbd6da5f8fd1511f1b95","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Update to use the new dat-worker-pool\n\nThis updates qs to use the new dat-worker-pool. dat-worker-pool's\ninterface has changed but functionally it works the same as it\npreviously did.\n\nA daemon can now be configured with a worker class instead of\nworker procs. This is because dat-worker-pool now requires a worker\nclass when its initialized. A block is no longer part of\ndat-worker-pool's interface. The logic for processing a work item\n(a queue item for qs) is now part of the worker class that is passed\nin. Worker callbacks should now be added to the worker class thats\nconfigured.\n\nThe daemon now also builds a worker pool when its initialized\ninstead of waiting till its started. This was previously made\npossible when dat-worker-pool was changed to not start\nautomatically but qs didn't take advantage of it til now. This\navoids some conditionals and having to set/unset the worker pool\nivar as the daemon is started/stopped.\n\nAs part of this change, qs now also provides a `Worker` mixin which\nas mentioned before, contains the logic for processing a queue\nitem. It also contains the on-available and on-error logic that\nwas previously buried in the `Daemon` class. This mixin is\nrequired for any worker class that is configured on a daemon. The\nworker mixin also protects itself from its included hook being run\nmultiple times to avoid on-error and on-available callbacks being\nadded multiple times.\n\nThis also includes a number of small changes related to using the\nnew dat-worker-pool:\n\n* Min and max number of workers are no longer configurable because\n  dat-worker-pool no longer supports a min or max. A constant\n  number of workers is all that can be configured. It now defaults\n  to 4 workers (its previous max value).\n* Changed the work loop organization to try and make it more\n  readable and consistent with dat-tcp/dat-worker-pool.\n* Updated styles and conventions to our latest standards\n  throughout.","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/392f22ccb52f7c6132f6cbd6da5f8fd1511f1b95"},{"sha":"4dd25880a21988c688513827e59150a59f15539b","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Merge pull request #101 from redding/jcr-new-dwp\n\nUpdate to use the new dat-worker-pool","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/4dd25880a21988c688513827e59150a59f15539b"},{"sha":"31dac5c5d3040b885977788ec3a29229d3483ea8","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Pass logger to dat-worker-pool when in debug mode\n\nThis updates qs debug mode and to pass its logger to\ndat-worker-pool when its in debug mode. This allows extra logging\nprovided by dat-worker-pool. This also removes duplicate logging\nthat is now handled by dat-worker-pool and the payload handler\nraising an exception if in debug mode. All of this is to formalize\nthe debug mode of qs and take advantage of dat-worker-pools\nlogging.\n\nThe daemon data now has a `debug` flag that is set by the env var\n`QS_DEBUG`. When this is set, the qs logger will be passed to\ndat-worker-pool. This shouldn't be set in a live environment\nbecause dat-worker-pool does a lot of extra logging that will slow\ndown qs processing.\n\nThis also removes the payload handler raising an exception if the\n`QS_DEBUG` flag is set. This is a development feature that was\nused when initially developing qs logic. It was never intended to\nbe a feature outside of the qs repo and test suite. This removes\nit so its no longer tied to the `QS_DEBUG` env var. If we need it\nagain when updating qs we can figure a way to add the feature back\nso that it is only part of the test suite.","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/31dac5c5d3040b885977788ec3a29229d3483ea8"},{"sha":"17ad4df50090b870a8d5432974d06568edd0e36a","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Merge pull request #102 from redding/jcr-logging\n\nPass logger to dat-worker-pool when in debug mode","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/17ad4df50090b870a8d5432974d06568edd0e36a"},{"sha":"bfd69b73a73d2aaaf7fe803020f65e989242b612","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Use much-plugin for daemon, worker and handlers\n\nThis updates the daemon, worker and handler mixins to use\nmuch-plugin. This ensures the mixin logic is only included once and\nensures the worker callbacks don't get added multiple times.","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/bfd69b73a73d2aaaf7fe803020f65e989242b612"},{"sha":"4ec9b698b07c5ac41832aceccc4640530e68782c","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Merge pull request #103 from redding/jcr-use-much-plugin\n\nUse much-plugin for daemon, worker and handlers","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/4ec9b698b07c5ac41832aceccc4640530e68782c"},{"sha":"0a3fdfd1dcb2d6fd762ac7c14d14babacb735814","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Add worker test helpers\n\nThis adds worker test helpers for testing custom qs workers. This\nmakes it possible for a custom qs worker to be easily tested\nwithout requiring logic about the internals of qs.\n\nThe worker test helpers bring in dat-worker-pool's worker test\nhelpers and override the `test_runner` method. It automatically\nadds worker params that qs workers need to run all their logic.","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/0a3fdfd1dcb2d6fd762ac7c14d14babacb735814"},{"sha":"078a864c0dae868678c443ee98364d6ee159196f","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Merge pull request #104 from redding/jcr-worker-test-helpers\n\nAdd worker test helpers","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/078a864c0dae868678c443ee98364d6ee159196f"},{"sha":"b2f93fdb9d4f6f0bb6fc7bca1cc30aabb6d3558d","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Rename `Signal` to `State`, use dat-worker-pool locked object\n\nThis renames the `Signal` class to `State` which better matches\nhow the variable is used and avoids confusion with the signal that\nwe use to wakeup the daemon thread. The `State` class now also\ninherits from dat-worker-pool's locked object. This handles the\nmutex locking and now the `State` class only implements an\ninterface for checking what the current state is.","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/b2f93fdb9d4f6f0bb6fc7bca1cc30aabb6d3558d"},{"sha":"40952acc8a7b6ed28962b6a4264e54eb1851b6f2","author":{"email":"4ce87f5ca5596825d366b739cd5c4750d74e0217@gmail.com","name":"Collin Redding"},"message":"Merge pull request #105 from redding/jcr-rename-signal-to-state\n\nRename `Signal` to `State`, use dat-worker-pool locked object","distinct":true,"url":"https://api.github.com/repos/redding/qs/commits/40952acc8a7b6ed28962b6a4264e54eb1851b6f2"}]}