1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- from datetime import datetime
- from sqlalchemy.orm import Session
- from utils import *
- from utils.redis_util import *
- from models import *
- from exceptions import *
- from database import get_db_local
- from extensions import logger
- from common import YzyApi
- from config import settings
- import traceback
- def proc():
- lock_key = "yzy_job_proc"
- if redis_lock(lock_key):
- logger.info(datetime.now())
- redirect_url = "{}/#/leader/index".format(settings.YJXP_WEB_ROOT_PATH) # 业务页面
- detail_url = YzyApi.format_redirect_url(redirect_url, "eb4kehgy6wj4qn0jhx1dk6")
-
- yzy_user_id = "eb4kehgy6wj4qn0jhx1dk6" # 暂时写死梦梅的账号
- description = "预案名称: 茂名市自然灾害救助应急预案\n响应级别: Ⅰ级响应\n消息内容: 单位您好!《茂名市自然灾害救助应急预案》现已全面启动,特此通知您单位迅速响应,全力做好预案工作要点:负责救灾工作宣传报道协调工作。"
- # ret = YzyApi.send_textcard_message(yzy_user_id, "预案响应消息", description, detail_url)
- # logger.info(ret)
- data = {
- "yzy_userid": yzy_user_id,
- "mobile": "13528373954",
- "content": description,
- "recorded_by": 1,
- "detail_url": detail_url,
- "foreign_key": "1",
- "from_scenario": "yjya",
- "title": "预案响应消息"
- }
- db = get_db_local()
- YzyApi.add_to_msg_queue(db, data)
- db.close()
- redis_unlock(lock_key)
- def yzy_msg_queue_proc():
- lock_key = "yzy_job_proc"
- if redis_lock(lock_key):
- logger.info(datetime.now())
- db = get_db_local()
- rows = db.query(YzyMsgQueue).filter(YzyMsgQueue.sent_status == 0).limit(20).all()
- for row in rows:
- try:
- resp = YzyApi.send_textcard_message(row.yzy_userid, row.title, row.content, row.detail_url)
- logger.info(resp)
- row.sent_time = datetime.now()
- if resp['errcode'] == 0:
- row.sent_status = 1
- row.errmsg = resp['jobid']
- else:
- row.sent_status = 9
- row.errmsg = resp['errmsg']
- db.commit()
- except Exception as e:
- traceback.print_exec()
-
- db.close()
- redis_unlock(lock_key)
|