Создал test.php , подключил prolog_before.php
Из примера добавил callback
Код |
---|
class TransformerCallback implements \Bitrix\Transformer\InterfaceCallback
{
public static function call($status, $command, $params, $result = array())
{
// На вход команды в $params указываем fileId - идентификатор файла.
// Теперь надо сбросить по нему кеш с информацией о команде
//AddMessage2Log([$status,$command,$params,$result]);
if(isset($params['fileId']) && $params['fileId'] > 0)
{
FileTransformer::clearInfoCache($params['fileId']);
}
if($status === 1000)
{
// do something with error
return true;
}
$pdfFileResult = $result['files']['pdf'];
if($pdfFileResult)
{
$file = \CFile::MakeFileArray($pdfFileResult, 'application/pdf');
$bFileId = \CFile::SaveFile($file);
// save $bFileId
}
// send some php event
return true;
}
} |
Далее делаю запрос
Код |
---|
$result = $transformer->transform(5221640, ['pdf'], 'iblock', 'TransformerCallback', ['fileId'=>5221640,]); |
Получаю status = 200. В таблицу b_transformer_command вносится запись со статусом 200, но затем запись обновляется, STATUS меняется на 1000, ERROR_CODE на 400, ERROR на "Callback error"
Что делаю не так?