- Added
.NumAttempts()method as a faster way to dolen(w.Attempts())#21
- Added String method to WorkUnitStatus. (#19)
- Fix CircleCI build. (#18)
- Fix a data race. (#16)
- Switch docker image repository to Docker Hub. (#15)
- Bug fix for panic on nil logger. (#14)
- Performance fix for the PostgreSQL backend when
max_retriesis used. (#12) - If
max_retriescauses some work units to get preemptively failed,RequestAttemptswill return fewer than themax_getworknumber of attempts, rather than attempting to get more work, on all backends.
- In the published Prometheus metrics, don't double-double-quote the "status" value. (#11)
- Add a
max_retrieswork spec parameter to limit work unit retries (#8) - Port the generic test suite to use
github.com/stretchr/testify/suite, rather than the home-growncptestprogram in this package. (#9) - Publish
coordinate summarystyle metrics to Promotheus. (#10)
- Requires Go 1.7 or later, and its standard
contextpackage (#4) - Add CircleCI integration, Quay reference Docker image (#1, #2)
- PostgreSQL backend performance improvement for long-running systems with many old workers (#3)
- The Go worker framework can take a list of runtime strings as
parameters, it is not limited to
"go"(#5)
- Bug fix in Go decoding of CBOR-RPC responses.
- Bug fix adding work units in the PostgreSQL backend, where adding a work unit that already existed would affect all work specs with performance implications
- Bug fix relating to multiple concurrent Go workers and concurrent map access
- Bug fixes for continuous work units on the PostgreSQL backend, including fixes for intervals longer than 3600 seconds, intervals longer than 86400 seconds, and concurrent attempts to execute continuous work units
- Don't ignore a requested work spec name from Python
coordinate run_one --from-work-spec
The github.com/satori/go.uuid library made its UUID parsing stricter
in this timeframe as well, so UUID values passed in work unit data or
elsewhere may be rejected if key bits do not conform to RFC 4122.
- Adds the ability for work units to declare an earliest time they can
run. Changes
WorkSpec.AddWorkUnit()to take a newWorkUnitMetastructure instead of the existingpriorityparameter, and adds atime.Durationparameter toAttempt.Retry(). Generatedoutputwork units in chained work units can also declare adelaybefore running the next unit. Makes corresponding (incompatible) changes to the REST API. - Adds a worker framework so that Coordinate work specs can run task implementations written in Go.
- Add a
coordbenchtool to measure the performance of the Coordinate system. - Several performance improvements for the PostgreSQL backend, aimed at the "millions of work units" scale.
- Switch tests from
gochecktotestify.
- Adds a REST server interface: start
coordinated -http :5980. - Adds a REST client backend: start
coordinated -backend http://localhost:5980/. - Adds a
runtimekey to work specs to allow workers for multiple language runtimes to coexist. - Turns off detailed logging of every CBOR-RPC request and response.
- Build changes to support getting a working static Docker container out.
- Work around a code change in the codec library.
- Initial release.