CartCleanupTask::run PHP Method

run() public method

public run ( $request )
    public function run($request)
    {
        if (!$this->config()->get('delete_after_mins')) {
            throw new LogicException('No valid time specified in "delete_after_mins"');
        }
        $start = 0;
        $count = 0;
        $time = date('Y-m-d H:i:s', SS_Datetime::now()->Format('U') - $this->config()->get('delete_after_mins') * 60);
        $this->log("Deleting all orders since " . $time);
        $orders = Order::get()->filter(array('Status' => 'Cart', 'LastEdited:LessThan' => $time));
        foreach ($orders as $order) {
            $this->log(sprintf('Deleting order #%s (Reference: %s)', $order->ID, $order->Reference));
            $order->delete();
            $order->destroy();
            $count++;
        }
        $this->log("{$count} old carts removed.");
    }

Usage Example

 /**
  * run in verbose mode
  */
 public static function run_on_demand()
 {
     $obj = new CartCleanupTask();
     $obj->verbose = true;
     $obj->run(null);
 }
CartCleanupTask