初始化项目
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import asyncio
|
||||
from tornado.httpclient import HTTPResponse, HTTPRequest
|
||||
|
||||
import dock
|
||||
from dock.dcm import dcm_api
|
||||
from paste.core.logging import echo_log
|
||||
from paste.web import requests
|
||||
import apps
|
||||
|
||||
|
||||
async def get_send_sms_request(body):
|
||||
"""
|
||||
创建发送短信的请求对象。方法仅创建请求对象,并未实际提交请求,具体由调度方法处理。
|
||||
|
||||
:param body: 短信参数字典
|
||||
:return: HTTPRequest 对象
|
||||
"""
|
||||
api_url = '/home/sms/sendwfsms'
|
||||
sms_request = await dcm_api.new_api_request(api_url, body)
|
||||
return sms_request
|
||||
|
||||
|
||||
async def after_send_sms_request(response: HTTPResponse, retry_queue: asyncio.Queue[HTTPRequest]):
|
||||
"""
|
||||
提交数字城管后的处理程序。
|
||||
|
||||
:param response: 响应对象
|
||||
:param retry_queue: 重试队列
|
||||
"""
|
||||
echo_log(response.body.decode())
|
||||
echo_log('发送短信成功')
|
||||
|
||||
|
||||
async def send_sms(body):
|
||||
"""
|
||||
调用数字城管的发送短信接口
|
||||
|
||||
:param body: 短信参数字典
|
||||
"""
|
||||
echo_log('正在准备发送短信...')
|
||||
sms_request = await get_send_sms_request(body)
|
||||
sms_queue = asyncio.Queue()
|
||||
await sms_queue.put(sms_request)
|
||||
if apps.get_active_env() in ('dev', '', None):
|
||||
echo_log(f"非生产环境,不实际提交.")
|
||||
return
|
||||
|
||||
await requests.async_concurrency(
|
||||
sms_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT,
|
||||
after_request=after_send_sms_request
|
||||
)
|
||||
Reference in New Issue
Block a user