que-scheduler 5.0.0 → 5.1.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 +4 -4
- data/README.md +3 -1
- data/lib/que/scheduler/state_checks.rb +2 -0
- data/lib/que/scheduler/to_enqueue.rb +17 -12
- data/lib/que/scheduler/version.rb +1 -1
- data/lib/que-scheduler.rb +0 -2
- metadata +5 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c8e6eface6f64e6dd63dfcd340528a0624e13fc0dc5d38e7c0aeaf9a233bf870
         | 
| 4 | 
            +
              data.tar.gz: b89fe9c4ed0bf5e0897307b695e7ff614df9b4a3cd8187e78038ff50a7bab22b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 33d83f27fdf2f22beabcea208bb6f19dce018c8b60b9f29a82771a4e7b2fbd5ad25abd9e42559c2967db6bec26d89b67464a3f59ff4fa806685549ca45d4d5d5
         | 
| 7 | 
            +
              data.tar.gz: 2b0239e99adac86c1dd5d2324e9bd120ecb36a46b35b7411682c40c57a5e8767d2aff44e1ecbe32cdf613b064b5f14455bf786343ca3969f1fadb2b54bae3896
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,7 +1,9 @@ | |
| 1 1 | 
             
            que-scheduler
         | 
| 2 2 | 
             
            ================
         | 
| 3 3 |  | 
| 4 | 
            -
            [](https:// | 
| 4 | 
            +
            [](https://rubygems.org/gems/que-scheduler)
         | 
| 5 | 
            +
            [](https://github.com/hlascelles/que-scheduler/actions)
         | 
| 6 | 
            +
            [](https://opensource.org/licenses/MIT)
         | 
| 5 7 | 
             
            [](https://coveralls.io/github/hlascelles/que-scheduler?branch=master)
         | 
| 6 8 | 
             
            [](https://codeclimate.com/github/hlascelles/que-scheduler/maintainability)
         | 
| 7 9 |  | 
| @@ -10,6 +10,7 @@ module Que | |
| 10 10 | 
             
                      assert_db_migrated
         | 
| 11 11 | 
             
                    end
         | 
| 12 12 |  | 
| 13 | 
            +
                    # rubocop:disable Metrics/MethodLength
         | 
| 13 14 | 
             
                    private def assert_db_migrated
         | 
| 14 15 | 
             
                      db_version = Que::Scheduler::Migrations.db_version
         | 
| 15 16 | 
             
                      return if db_version == Que::Scheduler::Migrations::MAX_VERSION
         | 
| @@ -57,6 +58,7 @@ module Que | |
| 57 58 | 
             
                        synchronously. This will fail as que-scheduler needs the above tables to work.
         | 
| 58 59 | 
             
                      ERR
         | 
| 59 60 | 
             
                    end
         | 
| 61 | 
            +
                    # rubocop:enable Metrics/MethodLength
         | 
| 60 62 | 
             
                  end
         | 
| 61 63 | 
             
                end
         | 
| 62 64 | 
             
              end
         | 
| @@ -96,18 +96,7 @@ module Que | |
| 96 96 | 
             
                    # be used when the job is worked.
         | 
| 97 97 | 
             
                    data = JSON.parse(job.to_json, symbolize_names: true)
         | 
| 98 98 |  | 
| 99 | 
            -
                     | 
| 100 | 
            -
                    scheduled_at =
         | 
| 101 | 
            -
                      begin
         | 
| 102 | 
            -
                        scheduled_at_float = data[:scheduled_at]
         | 
| 103 | 
            -
                        # rubocop:disable Style/EmptyElse
         | 
| 104 | 
            -
                        if scheduled_at_float
         | 
| 105 | 
            -
                          Que::Scheduler::TimeZone.time_zone.at(scheduled_at_float)
         | 
| 106 | 
            -
                        else
         | 
| 107 | 
            -
                          nil
         | 
| 108 | 
            -
                        end
         | 
| 109 | 
            -
                        # rubocop:enable Style/EmptyElse
         | 
| 110 | 
            -
                      end
         | 
| 99 | 
            +
                    scheduled_at = self.class.extract_scheduled_at(data[:scheduled_at])
         | 
| 111 100 |  | 
| 112 101 | 
             
                    # Rails didn't support queues for ActiveJob for a while
         | 
| 113 102 | 
             
                    used_queue = data[:queue_name] if ToEnqueue.active_job_version_supports_queues?
         | 
| @@ -142,6 +131,22 @@ module Que | |
| 142 131 | 
             
                      job_class_set.perform_later(*args)
         | 
| 143 132 | 
             
                    end
         | 
| 144 133 | 
             
                  end
         | 
| 134 | 
            +
             | 
| 135 | 
            +
                  class << self
         | 
| 136 | 
            +
                    # ActiveJob scheduled_at is returned as a float, or a string post Rails 7.1,
         | 
| 137 | 
            +
                    # and we want a Time for consistency
         | 
| 138 | 
            +
                    def extract_scheduled_at(scheduled_at)
         | 
| 139 | 
            +
                      # rubocop:disable Style/EmptyElse
         | 
| 140 | 
            +
                      if scheduled_at.is_a?(Float)
         | 
| 141 | 
            +
                        Que::Scheduler::TimeZone.time_zone.at(scheduled_at)
         | 
| 142 | 
            +
                      elsif scheduled_at.is_a?(String)
         | 
| 143 | 
            +
                        Que::Scheduler::TimeZone.time_zone.parse(scheduled_at)
         | 
| 144 | 
            +
                      else
         | 
| 145 | 
            +
                        nil
         | 
| 146 | 
            +
                      end
         | 
| 147 | 
            +
                      # rubocop:enable Style/EmptyElse
         | 
| 148 | 
            +
                    end
         | 
| 149 | 
            +
                  end
         | 
| 145 150 | 
             
                end
         | 
| 146 151 |  | 
| 147 152 | 
             
                # A value object returned after a job has been enqueued. This is necessary as Que (normal) and
         | 
    
        data/lib/que-scheduler.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: que-scheduler
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 5. | 
| 4 | 
            +
              version: 5.1.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Harry Lascelles
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024- | 
| 11 | 
            +
            date: 2024-08-21 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activesupport
         | 
| @@ -33,7 +33,7 @@ dependencies: | |
| 33 33 | 
             
                    version: '1.1'
         | 
| 34 34 | 
             
                - - ">="
         | 
| 35 35 | 
             
                  - !ruby/object:Gem::Version
         | 
| 36 | 
            -
                    version: 1.1 | 
| 36 | 
            +
                    version: 1.11.1
         | 
| 37 37 | 
             
              type: :runtime
         | 
| 38 38 | 
             
              prerelease: false
         | 
| 39 39 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -43,7 +43,7 @@ dependencies: | |
| 43 43 | 
             
                    version: '1.1'
         | 
| 44 44 | 
             
                - - ">="
         | 
| 45 45 | 
             
                  - !ruby/object:Gem::Version
         | 
| 46 | 
            -
                    version: 1.1 | 
| 46 | 
            +
                    version: 1.11.1
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: hashie
         | 
| 49 49 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -436,7 +436,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 436 436 | 
             
                - !ruby/object:Gem::Version
         | 
| 437 437 | 
             
                  version: '0'
         | 
| 438 438 | 
             
            requirements: []
         | 
| 439 | 
            -
            rubygems_version: 3. | 
| 439 | 
            +
            rubygems_version: 3.5.11
         | 
| 440 440 | 
             
            signing_key:
         | 
| 441 441 | 
             
            specification_version: 4
         | 
| 442 442 | 
             
            summary: A cron scheduler for Que
         |