Skip to content

Commit

Permalink
Fix graph rendering and update the graph png in README
Browse files Browse the repository at this point in the history
  • Loading branch information
pokonski committed Oct 2, 2017
1 parent 980ee67 commit 630b5af
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 deletions.
7 changes: 4 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

### Fixed

- Fixed performance problems with unserializing jobs. This greatly **increased performance** by avoiding redundant calls to Redis storage. Should help a lot with huge workflows spawning thousands of jobs. Previously each job loaded whole workflow instance when executed.
- Fix graph rendering with `gush viz` command. Sometimes it rendered the last job detached from others, because it was using a class name instead of job name as ID.
- Fix performance problems with unserializing jobs. This greatly **increased performance** by avoiding redundant calls to Redis storage. Should help a lot with huge workflows spawning thousands of jobs. Previously each job loaded whole workflow instance when executed.

### Changed

- **BREAKING CHANGE** `Gushfile.rb` is now renamed to `Gushfile`
- **BREAKING CHANGE** Internal code for reporting status via Redis pub/sub has been removed, since it wasn't used for a long time.
- **BREAKING CHANGE** - jobs are expected to have a `perform` method instead of `work` like in < 1.0.0 versions.
- **BREAKING CHANGE** - `payloads` method available inside jobs is now an array of hashes, instead of a hash, this allows for a more flexible approach to reusing a single job in many situations. Previously payloads were grouped by predecessor's class name, so you were forced to hardcode that class name in its descendants' code.
- **BREAKING CHANGE** - jobs are expected to have a `perform` method instead of `work` like in < 1.0.0 versions.
- **BREAKING CHANGE** - `payloads` method available inside jobs is now an array of hashes, instead of a hash, this allows for a more flexible approach to reusing a single job in many situations. Previously payloads were grouped by predecessor's class name, so you were forced to hardcode that class name in its descendants' code.

### Removed

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ end

and this is how the graph will look like:

![SampleWorkflow](http://i.imgur.com/SmeRRVT.png)
![SampleWorkflow](https://i.imgur.com/DFh6j51.png)


## Defining workflows
Expand Down
3 changes: 2 additions & 1 deletion lib/gush/graph.rb
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ def add_job(graph, job)
graph.add_edges(job.name, end_node)
else
job.outgoing.each do |id|
graph.add_edges(job.name, id)
outgoing_job = workflow.find_job(id)
graph.add_edges(job.name, outgoing_job.name)
end
end
end
Expand Down

0 comments on commit 630b5af

Please sign in to comment.