分类目录归档:backend

[ celery定时任务 ]


django中celery使用定时任务

celery_app.py

import os

from celery import Celery

# set the default Django settings module for the 'celery' program.
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")

app = Celery("backend")

# Using a string here me

< Read more >

[ celery重试机制 ]


python中的celery使用

开启重试需要添加 bind=True参数 才能绑定到self来进行重试

@celery_app.task(bind=True, max_retries=3, default_retry_delay=5)
def send_email_when_check_eform(self, recipient_email, subject, message):
    password = 'G@9742ns'
    server_email = 'no-reply@gnstec.com.hk'
    from_addr = forma

< Read more >

[ python中使用泛型 ]


泛型TypeVar

我这里是定义数据结构模板, 来限制用户的dict内容

from ninja import Schema
from typing import TypeVar, Generic

T = TypeVar('T')

class ApiResSchema(Schema, Generic[T]):
    data: T = ""
    code: int = 0
    msg: str = ""

django-ninja使用的时候可以通过[]写入类型, 框架自动序列化

@message_router.get(pat

< Read more >

[ Python镜像build ]


Python镜像build

FROM python:3.8-alpine
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk update && apk add bash bash-doc bash-completion git freetds-dev jpeg-dev linux-headers mysql-client mariadb-dev build-base libffi-dev openssl-dev zlib-dev bzi

< Read more >