Magento Cron: Persistent Clear Expired
Magento Cron Job Name: persistent_clear_expired
✽ XML of cron job as in config.xml is:
From this, we can make out that this cron job will be executed every day at 12:00 AM(Mid Night)
✽Function Code:
public function clearExpiredCronJob(Mage_Cron_Model_Schedule $schedule)
{
//collection of Id’s from ‘core_website’ table.
$websiteIds = Mage::getResourceModel(‘core/website_collection’)->getAllIds();
if (!is_array($websiteIds))
{
return $this;
}
foreach ($websiteIds as $websiteId)
{
//deleteExpired is a function that perform Delete Over(Expired) Records from ‘persistent_session’ table.
Mage::getModel(‘persistent/session’)->deleteExpired($websiteId);
}
return $this;
}✽ Configuration details:
This can be edited in file app/code/core/Mage/Persistent/etc/config.xml. The default lifetime is one year(31536000 seconds).
✽ Database related comments: The following database table will get cleaned after this cron job over. ‘persistent_session’:- This table stores customer_id and website_id. If lifetime is over(expired) record is deleted from the table.
- Sql query to delete:-DELETE FROM `persistent_session` WHERE (website_id = ‘1’) AND (updated_at ‘2013-06-10 12:40:30’) Schema of Table:
Field Type Null Key Default persistent_id int(10) No Primary None key Varchar(50) No – None customer_id int(10) Yes – Null website_id smallint(5) No – 0 info text Yes – Null updated_id timestamp Yes – Null ✽ Example:
persistent_id key customer_id website_id info updated_at 3 S4gHRbM7m6fsaLA8QY2pyVjvQl0y1p9XIyh1SQU27e93TlXk5H 6 1 {“entity_id”:”6″,”entity_type_id”:”1″,”attribute_s… 10/06/14 11:09