1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/17135] Optimize save_queue() method calls

PHPBB-17135
This commit is contained in:
rxu
2025-01-07 11:54:11 +07:00
parent 4dd08747e3
commit 3e0270d0cf
4 changed files with 34 additions and 19 deletions

View File

@@ -265,16 +265,18 @@ class acp_email
}
$errored = !$messenger_method->send() || $errored;
if ($use_queue)
{
$messenger_method->save_queue();
}
}
}
}
unset($email_list);
$messenger->save_queue();
if ($use_queue)
{
foreach ($messenger_collection_iterator as $messenger_method)
{
$messenger_method->save_queue();
}
}
if ($generate_log_entry)
{

View File

@@ -194,15 +194,15 @@ class acp_inactive
$result = $db->sql_query($sql);
/** @var \phpbb\di\service_collection */
$messenger = $phpbb_container->get('messenger.method_collection');
$messenger_collection_iterator = $messenger->getIterator();
if ($row = $db->sql_fetchrow($result))
{
// Send the messages
$usernames = $user_ids = array();
/** @var \phpbb\di\service_collection */
$messenger = $phpbb_container->get('messenger.method_collection');
$messenger_collection_iterator = $messenger->getIterator();
do
{
foreach ($messenger_collection_iterator as $messenger_method)
@@ -219,7 +219,6 @@ class acp_inactive
]);
$messenger_method->send();
$messenger_method->save_queue();
}
}
@@ -242,6 +241,11 @@ class acp_inactive
}
$db->sql_freeresult($result);
foreach ($messenger_collection_iterator as $messenger_method)
{
$messenger_method->save_queue();
}
// For remind we really need to redirect, else a refresh can result in more than one reminder
$u_action = $this->u_action . "&$u_sort_param&start=$start";
$u_action .= ($per_page != $config['topics_per_page']) ? "&users_per_page=$per_page" : '';

View File

@@ -133,6 +133,8 @@ class ucp_resend
WHERE ' . $db->sql_in_set('user_id', $admin_ary[0]['a_user']);
$result = $db->sql_query($sql);
/** @var \phpbb\di\service_collection */
$messenger = $phpbb_container->get('messenger.method_collection');
$messenger_collection_iterator = $messenger->getIterator();
while ($row = $db->sql_fetchrow($result))
{
@@ -151,13 +153,16 @@ class ucp_resend
]);
$messenger_method->send();
// Save the queue in the messenger method class (has to be called or these messages could be lost)
$messenger_method->save_queue();
}
}
}
$db->sql_freeresult($result);
// Save the queue in the messenger method class (has to be called or these messages could be lost)
foreach ($messenger_collection_iterator as $messenger_method)
{
$messenger_method->save_queue();
}
}
$this->update_activation_expiration();