Skip to content

1.1.0

Compare
Choose a tag to compare
@mariano mariano released this 10 May 17:50
· 74 commits to master since this release

Added

  • Refactoring of response parsing for greater flexibility.
  • Added new Disque\Connection\Manager class to manage connections to nodes.
  • GETJOB can now influence which node we are connected to. By means of
    $disque->getConnectionManager()->setMinimumJobsToChangeNode() we can specify
    that if a certain node produces that many jobs, then we should instead connect
    to the node producing those jobs (as suggested by Disque
    itself).
  • Added Disque\Queue\Queue and Disque\Queue\Job class to offer a higher
    level API that simplifies queueing and fetching jobs
  • Added method queue() to Disque\Client to create / fetch a queue which
    is an instance of Disque\Queue\Queue
  • Added schedule() method to Disque\Queue that allows to easily schedule
    jobs to be processed at a certain time.

Changed

  • Disque\Connection\Connection is now named Disque\Connection\Socket.
  • The method setConnectionImplementation has been moved to
    Disque\Connection\Manager, and renamed to setConnectionClass. So from
    a disque instance you can change it via:
    $disque->getConnectionManager()->setConnectionClass($class)
  • Moved exceptions around:
    • Disque\Exception\InvalidCommandArgumentException to
      Disque\Command\Argument\InvalidArgumentException
    • Disque\Exception\InvalidCommandException to
      Disque\Command\InvalidCommandException
    • Disque\Exception\InvalidCommandOptionException
      to Disque\Command\Argument\InvalidOptionException
    • Disque\Exception\InvalidCommandResponseException
      to Disque\Command\Response\InvalidResponseException
    • Disque\Exception\Connection\Exception\ConnectionException
      to Disque\Connection\ConnectionException
    • Disque\Exception\Connection\Exception\ResponseException
      to Disque\Connection\ResponseException
    • Disque\Exception\DisqueException
      to Disque\DisqueException

Fixed

  • Fixed issue where when a timeout was using when calling getJob(), and the
    call timed out because there were no jobs available, an non-array would be
    returned. No on that case it will return an empty array.
  • Fixed issue where if no options were provided to addJob(), yet all three
    parameters were specified, an InvalidCommandArgumentException was thrown.