mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
retry_event: Remove requirement of failed_tries being already there.
This fixes a bug where retries in the signups queue threw an exception.
This commit is contained in:
@@ -1226,7 +1226,6 @@ def do_send_messages(messages_maybe_none):
|
||||
"message": wide_message_dict,
|
||||
"trigger": event['trigger'],
|
||||
"user_profile_id": event["user_profile_id"],
|
||||
"failed_tries": 0,
|
||||
},
|
||||
lambda x: None,
|
||||
call_consume_in_tests=True
|
||||
|
||||
@@ -522,9 +522,6 @@ def handle_push_notification(user_profile_id, missed_message):
|
||||
apns_payload,
|
||||
gcm_payload)
|
||||
except requests.ConnectionError:
|
||||
if 'failed_tries' not in missed_message:
|
||||
missed_message['failed_tries'] = 0
|
||||
|
||||
def failure_processor(event):
|
||||
# type: (Dict[str, Any]) -> None
|
||||
logging.warning(
|
||||
|
||||
@@ -312,7 +312,8 @@ def queue_json_publish(queue_name, event, processor, call_consume_in_tests=False
|
||||
|
||||
def retry_event(queue_name, event, failure_processor):
|
||||
# type: (str, Dict[str, Any], Callable[[Dict[str, Any]], None]) -> None
|
||||
assert 'failed_tries' in event
|
||||
if 'failed_tries' not in event:
|
||||
event['failed_tries'] = 0
|
||||
event['failed_tries'] += 1
|
||||
if event['failed_tries'] > MAX_REQUEST_RETRIES:
|
||||
failure_processor(event)
|
||||
|
||||
@@ -67,7 +67,7 @@ class WorkerTest(ZulipTestCase):
|
||||
retries sending the email 3 times and then gives up."""
|
||||
fake_client = self.FakeClient()
|
||||
|
||||
data = {'test': 'test', 'failed_tries': 0, 'id': 'test_missed'}
|
||||
data = {'test': 'test', 'id': 'test_missed'}
|
||||
fake_client.queue.append(('missedmessage_email_senders', data))
|
||||
|
||||
def fake_publish(queue_name, event, processor):
|
||||
@@ -92,7 +92,7 @@ class WorkerTest(ZulipTestCase):
|
||||
fake_client = self.FakeClient()
|
||||
|
||||
user_id = self.example_user('hamlet').id
|
||||
data = {'user_id': user_id, 'failed_tries': 0, 'id': 'test_missed'}
|
||||
data = {'user_id': user_id, 'id': 'test_missed'}
|
||||
fake_client.queue.append(('signups', data))
|
||||
|
||||
def fake_publish(queue_name, event, processor):
|
||||
|
||||
@@ -209,7 +209,6 @@ class TestServiceBotEventTriggers(ZulipTestCase):
|
||||
def check_values_passed(queue_name, trigger_event, x, call_consume_in_tests):
|
||||
# type: (Any, Union[Mapping[Any, Any], Any], Callable[[Any], None], bool) -> None
|
||||
self.assertEqual(queue_name, expected_queue_name)
|
||||
self.assertEqual(trigger_event["failed_tries"], 0)
|
||||
self.assertEqual(trigger_event["message"]["content"], content)
|
||||
self.assertEqual(trigger_event["message"]["display_recipient"], recipient)
|
||||
self.assertEqual(trigger_event["message"]["sender_email"], self.user_profile.email)
|
||||
@@ -264,7 +263,6 @@ class TestServiceBotEventTriggers(ZulipTestCase):
|
||||
self.assertEqual(queue_name, expected_queue_name)
|
||||
self.assertEqual(trigger_event["user_profile_id"], self.bot_profile.id)
|
||||
self.assertEqual(trigger_event["trigger"], "private_message")
|
||||
self.assertEqual(trigger_event["failed_tries"], 0)
|
||||
self.assertEqual(trigger_event["message"]["sender_email"], sender_email)
|
||||
display_recipients = [
|
||||
trigger_event["message"]["display_recipient"][0]["email"],
|
||||
@@ -311,7 +309,6 @@ class TestServiceBotEventTriggers(ZulipTestCase):
|
||||
self.assertIn(trigger_event["user_profile_id"], profile_ids)
|
||||
profile_ids.remove(trigger_event["user_profile_id"])
|
||||
self.assertEqual(trigger_event["trigger"], "private_message")
|
||||
self.assertEqual(trigger_event["failed_tries"], 0)
|
||||
self.assertEqual(trigger_event["message"]["sender_email"], sender_email)
|
||||
self.assertEqual(trigger_event["message"]["type"], u'private')
|
||||
mock_queue_json_publish.side_effect = check_values_passed
|
||||
|
||||
Reference in New Issue
Block a user