feat: init commint
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
from django.db import transaction
|
||||
from ninja import Router
|
||||
from ninja.errors import HttpError
|
||||
|
||||
@@ -18,6 +17,7 @@ from apps.channels.services import (
|
||||
ingest_inbound_message,
|
||||
queue_outbound_message,
|
||||
record_channel_receipt,
|
||||
retry_outbound_message,
|
||||
verify_webhook_signature,
|
||||
)
|
||||
from apps.modelhub.crypto import encrypt_secret
|
||||
@@ -182,18 +182,10 @@ def retry_channel_message(request, public_id: str):
|
||||
)
|
||||
if message is None:
|
||||
raise HttpError(404, "出站消息不存在")
|
||||
if message.status != "failed":
|
||||
raise HttpError(409, "仅失败消息可以重试")
|
||||
message.status = "queued"
|
||||
message.error_message = ""
|
||||
message.save(update_fields=["status", "error_message", "updated_at"])
|
||||
|
||||
def enqueue_delivery():
|
||||
from apps.channels.tasks import deliver_channel_message_task
|
||||
|
||||
deliver_channel_message_task.delay(message.id)
|
||||
|
||||
transaction.on_commit(enqueue_delivery)
|
||||
try:
|
||||
message = retry_outbound_message(message, actor=request.user)
|
||||
except ChannelError as error:
|
||||
raise HttpError(409, str(error)) from error
|
||||
return serialize_message(message)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user