jenkins-bot has submitted this change and it was merged.

Change subject: Required limit of number of retry messages
......................................................................


Required limit of number of retry messages

Also, return empty set instead of null if nothing to retry

Bug: T142028
Change-Id: I9bc7e9eacc4d006b7d82aebcd535dd1e2743b939
---
M Core/DataStores/DamagedDatabase.php
M Tests/DamagedDatabaseTest.php
2 files changed, 7 insertions(+), 7 deletions(-)

Approvals:
  Awight: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Core/DataStores/DamagedDatabase.php 
b/Core/DataStores/DamagedDatabase.php
index a6e6322..312ffa6 100644
--- a/Core/DataStores/DamagedDatabase.php
+++ b/Core/DataStores/DamagedDatabase.php
@@ -113,21 +113,21 @@
        /**
         * Return messages ready to be retried
         *
+        * @param int $limit number of records to return
         * @return array|null Records with retry_date prior to now
         */
-       public function fetchRetryMessages() {
+       public function fetchRetryMessages( $limit ) {
                $prepared = self::$db->prepare( '
                        SELECT * FROM damaged
-                       WHERE retry_date < :now'
+                       WHERE retry_date < :now
+                       ORDER BY retry_date ASC
+                       LIMIT ' . $limit
                );
                $prepared->bindValue(
                        ':now', UtcDate::getUtcDatabaseString(), PDO::PARAM_STR
                );
                $prepared->execute();
                $rows = $prepared->fetchAll( PDO::FETCH_ASSOC );
-               if ( !$rows ) {
-                       return null;
-               }
                return array_map(
                        array( $this, 'messageFromDbRow' ),
                        $rows
diff --git a/Tests/DamagedDatabaseTest.php b/Tests/DamagedDatabaseTest.php
index 8760fbb..856325d 100644
--- a/Tests/DamagedDatabaseTest.php
+++ b/Tests/DamagedDatabaseTest.php
@@ -34,7 +34,7 @@
        }
 
        protected static function getTestMessage( $uniq = null ) {
-               if ( !$uniq ) { 
+               if ( !$uniq ) {
                        $uniq = mt_rand();
                }
                return array(
@@ -85,7 +85,7 @@
                $message = self::getTestMessage();
                $this->db->storeMessage( $message, 'test_queue', '', time() - 1 
);
 
-               $fetched = $this->db->fetchRetryMessages();
+               $fetched = $this->db->fetchRetryMessages( 10 );
 
                $this->assertNotNull( $fetched,
                        'No record retrieved by fetchRetryMessages.' );

-- 
To view, visit https://gerrit.wikimedia.org/r/303611
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I9bc7e9eacc4d006b7d82aebcd535dd1e2743b939
Gerrit-PatchSet: 6
Gerrit-Project: wikimedia/fundraising/SmashPig
Gerrit-Branch: master
Gerrit-Owner: Ejegg <[email protected]>
Gerrit-Reviewer: Awight <[email protected]>
Gerrit-Reviewer: Cdentinger <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to