Python: Celery+Redis implementa tareas de temporización

Resumen : Celery es una biblioteca de colas de tareas basada en Python que proporciona una manera conveniente de ejecutar tareas periódicas o retrasadas en aplicaciones de procesamiento asincrónico. La tarea de sincronización de Celery es una función importante proporcionada por Celery, que permite a los desarrolladores programar y ejecutar tareas periódicas de una manera simple y confiable.

Asaltantes de la historia:

Python: instalación y uso de Celery+Redis+Flower

Código fuente del caso:

# -*- coding: utf-8 -*-
# time: 2023/4/16 11:23
# file: tasks.py
# 公众号: 玩转测试开发
import datetime
from celery import Celery
from celery.schedules import crontab

# 连接远程redis服务的地址和端口号
redis_host = '111.112.113.114'  # 你的redis服务ip
redis_port = '6379'

app = Celery('tasks', broker=f'redis://{
      
      redis_host}:{
      
      redis_port}/0', backend=f'redis://{
      
      redis_host}:{
      
      redis_port}/1')


@app.task
def add(x, y):
    return x + y


@app.task
def subtract(x, y):
    return x - y


@app.task
def print_message():
    print(f'The time is now {
      
      datetime.datetime.now()}')


app.conf.beat_schedule = {
    
    
    'print-every-minute': {
    
    
        'task': 'tasks.print_message',
        'schedule': crontab(minute='*'),
    },
}

Pasos en ejecución : inicie un trabajador y un demonio Beat respectivamente, y la tarea programada comenzará a ejecutarse.

Inicio Trabajadores de apio

celery -A tasks worker --loglevel=info  -P eventlet

Inicie el demonio Celery Beat:

celery -A tasks beat --loglevel=info

resultado de la operación:

imagen

Supongo que te gusta

Origin blog.csdn.net/hzblucky1314/article/details/130355741
Recomendado
Clasificación