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: