protected function deserialize($message)
{
$job = $this->deserializeMessage($message);
if (!isset($job['route'])) {
throw new \yii\base\Exception('No route detected');
}
$route = $job['route'];
$signature = [];
if (isset($job['type']) && $job['type'] == Job::TYPE_CALLABLE) {
$serializer = new \SuperClosure\Serializer();
$signature['route'] = $route;
$route = $serializer->unserialize($route);
}
$data = \yii\helpers\ArrayHelper::getValue($job, 'data', []);
$obj = new Job(['route' => $route, 'data' => $data]);
$obj->header['signature'] = $signature;
return $obj;
}