Example #1
0
 /**
  * Clear the queue of complete records based on config lifetime
  */
 protected function clearCompleteQueue()
 {
     // Initialize the queue collection
     /** @var $queueCollection \ClassyLlama\AvaTax\Model\ResourceModel\Queue\Collection */
     $queueCollection = $this->queueCollectionFactory->create();
     $queueCollection->addQueueStatusFilter(Queue::QUEUE_STATUS_COMPLETE);
     // Get configuration for record lifetime
     $completeDays = $this->avaTaxConfig->getQueueCompleteLifetime();
     // Calculate the number of seconds to adjust the filter
     // 86400 seconds == 60 seconds * 60 minutes * 24 hours == 1 day
     $secondsBeforeNow = $completeDays * 60 * 60 * 24;
     // Add filters
     $queueCollection->addCreatedAtBeforeFilter($secondsBeforeNow);
     $queueCollection->addUpdatedAtBeforeFilter($secondsBeforeNow);
     // Process each queued entity
     /** @var $queue Queue */
     foreach ($queueCollection as $queue) {
         // Remove the queue record
         $queue->delete();
         $this->deleteCompleteCount++;
     }
 }