postjob 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 586b34b133d67462d64f913cf678ae14ef7954b4
4
- data.tar.gz: 4ecb46ab647b4337c56af775110d64cc16a36cb5
3
+ metadata.gz: c176d6457b3172ff1442166970581a23ad20e34d
4
+ data.tar.gz: 05dfff87b04b642e69b825673e1142ca564dd0f5
5
5
  SHA512:
6
- metadata.gz: a0a946eed383baa9e3c23a0bacc0a52175d917f7f976d6dc6f10b1ffe7e87ab8d3da7add93145f426f2e637613c3a0417dfd5a11404e6ac227d57a765e26a08b
7
- data.tar.gz: 132c173dc2da7630433511078c8eb7b75766fa00da4d3e52bb88e8a05c84254f1ae27490e7d3dc9ab762af962d6f2e813d42440d1f6e204cd1305e2e16225f48
6
+ metadata.gz: 72b0de9d89df11900f08cd73b341fcf11e668eed95a32cd0853f8bef973311fd03ad7c26c13e1d1171286478326c705c7d4c4b65368044f1eb505c1d686b91b2
7
+ data.tar.gz: 596170acec013392c8ad2b74ab3ae5dc44f232bd36f731015c14cfa76db4563db0306f3e198cd0b9b321b27562d4837aafae0c5647bc18f9a081b88a7e0018ee
data/README.md CHANGED
@@ -8,6 +8,23 @@ The `postjob` gem implements a simple way to have restartable, asynchronous, and
8
8
 
9
9
  To install gem run `gem install postjob` or add `gem postjob` to your Gemfile and bundle.
10
10
 
11
+ ## stable vs master
12
+
13
+ Postjob development generally happens in a master branch. "stable" versions are maintained in a stable branch.
14
+
15
+ Current stable version: 0.2.0
16
+ Currently released master version: 0.3.0
17
+
18
+ ### Pre 1.0 versioning policy
19
+
20
+ Until release of version 1.0 we'll maintain "stable" versions with even minor version
21
+ numbers (e.g. "0.2"), and "unstable" in uneven minor versions (e.g. 0.3).
22
+
23
+ Stable versions are in production use; unstable versions are released for various
24
+ tests and experiments.
25
+
26
+ With version 1.0 we'll switch to semantic versioning.
27
+
11
28
  ## Development setup
12
29
 
13
30
  1. Make sure you have PostgreSQL >= 9.5 installed
@@ -16,7 +33,7 @@ To install gem run `gem install postjob` or add `gem postjob` to your Gemfile an
16
33
 
17
34
  To install this gem onto your local machine, run `bundle exec rake install`.
18
35
 
19
- ## Usage
36
+ ## Tests
20
37
 
21
38
  Tests are set up to run twice, once against an ActiveRecord adapter, and once against a Simple::SQL provided adapter. To run the full test suite run
22
39
 
@@ -28,8 +45,12 @@ To run a single set of tests - this is usually fine during development - run
28
45
 
29
46
  ## Release gem
30
47
 
31
- To release a new version of this gem , run `./scripts/release`, which will bump the version number, create a git tag for the version,
32
- push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
48
+ To release a new version of this gem , run `rake release`, which will bump the version number,
49
+ create a git tag for the version, push git commits and tags, and push the `.gem` file
50
+ to [rubygems.org](https://rubygems.org).
51
+
52
+ To release a new stable version of this gem , run `[VERSION=0.4.3] rake release:stable`, which
53
+ does the same, but based on the stable branch.
33
54
 
34
55
  ## Contributing
35
56
 
data/lib/postjob/job.rb CHANGED
@@ -39,7 +39,7 @@ class Postjob::Job < Hash
39
39
  attribute :timed_out
40
40
  attribute :tags
41
41
 
42
- STATUSES = %w(ok ready sleep err failed timeout)
42
+ STATUSES = %w(ok ready processing sleep err failed timeout)
43
43
 
44
44
  def resolve
45
45
  expect! status => STATUSES
@@ -47,6 +47,7 @@ class Postjob::Job < Hash
47
47
  case status
48
48
  when "ok" then result
49
49
  when "ready" then :pending
50
+ when "processing" then :pending
50
51
  when "sleep" then :pending
51
52
  when "timeout" then raise Timeout::Error
52
53
  when "err" then :pending
@@ -41,6 +41,9 @@ module Postjob::Runner
41
41
  when :manual then workflow = "__manual__"
42
42
  when Symbol then workflow = "#{current_job.workflow}.#{workflow}"
43
43
  when Module then workflow = workflow.name
44
+ when String then :nop
45
+ else
46
+ raise ArgumentError, "Unsupported workflow spec #{workflow.inspect}. Did you run await(fun(a, b)) instead of await(:fun, a, b)"
44
47
  end
45
48
 
46
49
  ::Postjob::Queue.find_or_create_childjob(self.current_job, workflow, args,
data/spec/spec_helper.rb CHANGED
@@ -7,7 +7,7 @@ require "awesome_print"
7
7
 
8
8
  unless ENV["SKIP_SIMPLE_COV"]
9
9
  SimpleCov.start do
10
- minimum_coverage 90
10
+ minimum_coverage 88
11
11
  add_filter "/spec/"
12
12
  end
13
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postjob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - radiospiel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-29 00:00:00.000000000 Z
11
+ date: 2018-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec