All Versions
36
Latest Version
Avg Release Cycle
135 days
Latest Release
-

Changelog History
Page 1

  • v3.0.1 Changes

    • ๐Ÿ“œ Opt for keyword parsing using ruby2_keywords for compatibility.
  • v3.0.0 Changes

    • โž• Add support for keyword arguments in ruby >= 3.0. More details in release notes.
  • v2.1.2

    May 16, 2019
  • v2.1.1 Changes

    August 28, 2018
    • ๐Ÿš€ Relax versioning constraint of concurrent-ruby to make way for 1.1 release
  • v2.1.0 Changes

    August 17, 2018
    • โž• Add max_jobs configuration option to set the maximum number of tasks that may be waiting in the work queue

      class JobWithLimit
        include SuckerPunch::Job
        max_jobs 2
      
        def perform(data)
          # work...
        end
      end
      
      10.times do
        begin
          JobWithLimit.perform_async('work') }
        rescue Concurrent::RejectedExecutionError => e
          # Queue maxed out, this job didn't get queued
        end
      end
      
  • v2.0.4 Changes

    September 15, 2017
    • ๐Ÿ‘ Better initialization of variables and names to remove warnings
  • v2.0.3 Changes

    August 23, 2017
    • Rewrite shutdown strategy to fix bug related to premature shutdown when only 1 job is in enqueued when a job has more than 1 worker
  • v2.0.2 Changes

    April 25, 2016
    • Don't consider global shutdown bool when exhausting the queue during shutdown. This led to shutdown_timeout not being respected when processing remaining jobs left in the queue with a high shutdown_timeout.
  • v2.0.1 Changes

    February 14, 2016
    • โœ‚ Remove scripts from bin/
  • v2.0.0 Changes

    January 26, 2016
    • ๐Ÿ”จ Refactor internals to use concurrent-ruby
    • ๐Ÿ‘ป Yield more exception details to handler. The new syntax allows you to setup a global exception with the following syntax:

      # ex    => The caught exception object
      # klass => The job class
      # args  => An array of the args passed to the job
      
      SuckerPunch.exception_handler = -> (ex, klass, args) { ExceptionNotifier.notify_exception(ex) }
      
    • Invoke asynchronous job via perform_async and perform_in class method (backwards incompatible change):

      LogJob.perform_async("login")
      LogJob.perform_in(60, "login") # `perform` will be executed 60 sec. later
      
    • โฌ‡๏ธ Drop support for Ruby < 2.0

    • ๐Ÿ‘ Allow shutdown timeout to be set (default is 8 sec.):

      SuckerPunch.shutdown_timeout = 15 # time in seconds