This file contains the upgrade notes. These notes highlight changes that could break your application when you upgrade the package from one version to another.
- The
maxPriority
property was removed from amqp_interop. Use propertyqueueOptionalArguments
argumentx-max-priority
.
\yii\queue\ErrorEvent
has been deprecated and will be removed in3.0
. Use\yii\queue\ExecEvent
instead.
-
The Amqp driver has been deprecated and will be removed in
2.1
. It is advised to migrate to Amqp Interop instead. -
Added
\yii\queue\cli\Command::isWorkerAction()
abstract method. If you use your own console controllers to run queue listeners, you must implement it. -
\yii\queue\cli\Signal
helper is deprecated and will be removed in2.1
. The extension uses\yii\queue\cli\SignalLoop
instead of the helper. -
If you use your own console controller to listen to a queue, you must upgrade it. See the native console controllers for how to upgrade.
-
yii\queue\cli\Verbose
behavior was renamed toyii\queue\cli\VerboseBehavior
. The old class was marked as deprecated and will be removed in2.1.0
. -
Job
,RetryableJob
andSerializer
interfaces were renamed toJobInterface
,RetryableJobInterface
andSerializerInterface
. The old names are declared as deprecated and will be removed in2.1.0
.
- Code has been moved to yii namespace. Check and replace
zhuravljov\yii
toyii
namespace for your project.
-
Event
Queue::EVENT_AFTER_EXEC_ERROR
renamed toQueue::EVENT_AFTER_ERROR
. -
Removed method
Queue::later()
. Use method chainYii::$app->queue->delay(60)->push()
instead. -
Changed table schema for DB driver. Apply migration.
-
Some methods and constants were modified.
- Method
Job::run()
modified toJob::execute($queue)
. - Const
Queue::EVENT_BEFORE_WORK
renamed toQueue::EVENT_BEFORE_EXEC
. - Const
Queue::EVENT_AFTER_WORK
renamed toQueue::EVENT_AFTER_EXEC
. - Const
Queue::EVENT_AFTER_ERROR
renamed toQueue::EVENT_AFTER_EXEC_ERROR
.
- Method
-
Method
Queue::sendMessage
renamed toQueue::pushMessage
. Check it if you use it in your own custom drivers.
-
Driver property was removed and this functionality was moved into queue classes. If you use public methods of
Yii::$app->queue->driver
you need to use the methods ofYii::$app->queue
.You also need to check your configs. For example, now the config for the db queue is:
'queue' => [ 'class' => \zhuravljov\yii\queue\db\Queue::class, 'db' => 'db', 'tableName' => '{{%queue}}', 'channel' => 'default', 'mutex' => \yii\mutex\MysqlMutex::class, ],
Instead of the old variant:
'queue' => [ 'class' => \zhuravljov\yii\queue\Queue::class, 'driver' => [ 'class' => \yii\queue\db\Driver::class, 'db' => 'db', 'tableName' => '{{%queue}}' 'channel' => 'default', 'mutex' => \yii\mutex\MysqlMutex::class, ], ],