сделал так. пришлось сделать задержку в 5 секунд внутри php скрипта потому что systemd ругался что приходится слишком часто перезапускать процесс
[Unit]
After=network.target
Description=Runs worker
[Service]
ExecStart=/usr/bin/php7.0 /vagrant/www/public/deployer/app/cli.php
PIDFile=/vagrant/www/public/deployer/app/cli_bean.pid
TimeoutStopSec=300
Restart=always
[Install]
WantedBy=multi-user.target
Alias=bean.service
код задачи в  cli фалкона
use Phalcon\Cli\Task;
class MainTask extends Task
{
    public function mainAction()
    {
        $this->queue->watch('mail');
        while ($this->queue->statsTube('mail')["current-jobs-ready"] > 0 && ($job = $this->queue->reserve())) {
            $message = $job->getBody();
            $mailer = $this->mailer->send($message['to'], $message['subject'] , $message['view'], $message['params']);
            $job->delete();
        }
        $this->mailer->close();
        sleep(5);
    }
}
systemctl status
beanworker.service - Runs worker
   Loaded: loaded (/etc/systemd/system/beanworker.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-11-03 20:21:05 MSK; 1s ago
 Main PID: 23075 (php7.0)
    Tasks: 1
   Memory: 9.4M
      CPU: 87ms
   CGroup: /system.slice/beanworker.service
           └─23075 /usr/bin/php7.0 /vagrant/www/public/deployer/app/cli.php
Nov 03 20:21:05 vagrant systemd[1]: beanworker.service: Service hold-off time over, scheduling restart.
Nov 03 20:21:05 vagrant systemd[1]: Stopped Runs worker.
Nov 03 20:21:05 vagrant systemd[1]: Started Runs worker.
 память съедает почти 10мб, а  php  memory_get_peak_usage выдает 2мб