Используйте persist
только один раз. Затем вам нужно зафиксировать активную транзакцию и запустить новую, чтобы указать базе данных сохранить их и сделать новую транзакцию:
$processInfo = new ....ProcessInfo();
$this->em()->persist($processInfo);
$this->em()->getConnection()->commit();
while(true){
$processInfo->setLastCheckOn($now); // to know if the script is still running, we set a timestamp in the db
$this->em()->flush();
sleep(3);
}