for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Workana\AsyncJobs\Formatter;
use Workana\AsyncJobs\ExecutionInfo;
/**
* @author Carlos Frutos <[email protected]>
*/
class ExecutionInfoFormatter extends AggregateFormatterAware
{
const ONE_MILLION = 1000000;
* {@inheritdoc}
public function format($target)
$rawInfo = $target->toArray();
$info = [
'[',
' Execution time: ' . $this->formatTime($rawInfo),
' Queue: ' . $rawInfo['queueName'],
' Preferred queue: ' . $rawInfo['preferredQueue'] ?: '(none)',
' Delay: ' . $rawInfo['delay'] . ' seconds',
' Retry: ' . $rawInfo['retries'] . ' / ' . $rawInfo['maxRetries'],
']',
];
return implode(PHP_EOL, $info);
}
public function formatTime(array &$info)
return strtr(':number :unit', [':number' => round($info['executionTime'], 3), ':unit' => 'seconds']);
public function canFormat($target)
return ($target instanceof ExecutionInfo);