File tree Expand file tree Collapse file tree 3 files changed +19
-8
lines changed
Expand file tree Collapse file tree 3 files changed +19
-8
lines changed Original file line number Diff line number Diff line change @@ -66,16 +66,24 @@ public function execute()
6666 $ this ->logger ->info (__ ('Start webapi logs clean ' ));
6767 $ hours = $ this ->config ->getCleanOlderThanHours ();
6868 $ datetime = new DateTime ('- ' . $ hours . ' hour ' );
69+ $ page = 1 ;
6970
7071 $ collection = $ this ->logCollectionFactory ->create ();
71- $ rows = $ collection ->addFieldToFilter (LogResourceModel::CREATED_AT , ['lt ' => $ datetime ])
72- ->getItems ();
72+ $ collection = $ collection ->addFieldToSelect (LogResourceModel::LOG_ID )
73+ ->addFieldToFilter (LogResourceModel::CREATED_AT , ['lt ' => $ datetime ])
74+ ->setPageSize (2 );
7375
74- $ tot = $ collection ->count ();
75-
76- /** @var LogResourceModel $row */
77- foreach ($ rows as $ row ) {
78- $ this ->logResourceModel ->delete ($ row );
76+ $ pageCount = $ collection ->getLastPageNumber ();
77+ $ currentPage = 1 ;
78+ $ tot = 0 ;
79+ while ($ currentPage <= $ pageCount ) {
80+ $ collection ->setCurPage ($ currentPage );
81+ foreach ($ collection as $ row ) {
82+ $ this ->logResourceModel ->delete ($ row );
83+ $ tot ++;
84+ }
85+ $ collection ->clear ();
86+ $ currentPage ++;
7987 }
8088
8189 $ this ->logger ->info (__ ('End webapi logs clean. Deleted %1 elements. ' , $ tot ));
Original file line number Diff line number Diff line change @@ -15,6 +15,9 @@ class LogResourceModel extends AbstractDb
1515 /** @var string */
1616 const CREATED_AT = 'created_at ' ;
1717
18+ /** @var string */
19+ const LOG_ID = 'log_id ' ;
20+
1821 protected function _construct ()
1922 {
2023 $ this ->_init ('webapi_logs ' , 'log_id ' );
Original file line number Diff line number Diff line change 11<?xml version =" 1.0" ?>
22<config xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
33 xsi : noNamespaceSchemaLocation =" urn:magento:module:Magento_Cron:etc/crontab.xsd" >
4- <group id =" general " >
4+ <group id =" default " >
55 <job name =" webapilogs_clean" instance =" GhostUnicorns\WebapiLogs\Cron\CleanCron" method =" execute" >
66 <schedule >0 * * * *</schedule >
77 </job >
You can’t perform that action at this time.
0 commit comments