欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

celery 定时任务

程序员文章站 2022-04-12 19:35:07
用celery定时任务,定时删除文件夹 tasks.py 定时任务开启方式 ......

用celery定时任务,定时删除文件夹

tasks.py

from celery import celery
import os
import shutil

app = celery('demo')
app.config_from_object('celeryconfig')

app.conf.beat_schedule = {
    'send-every-10-seconds': {
        'task': 'tasks.my_task',
        'schedule': 100.0,
    },
}

@app.task
def my_task():
    """
    删除文件目录下面的所有文件以及文件中的内容
    :return:
    """

    dellist = []
    deldir = "./prod"
    dellist = os.listdir(deldir)

    for f in dellist:
        filepath = os.path.join(deldir, f)
        if os.path.isfile(filepath):
            os.remove(filepath)
            print(filepath + " was removed!")
        elif os.path.isdir(filepath):
            shutil.rmtree(filepath, true)
        print("directory: " + filepath + " was removed!")
定时任务开启方式
celery -a tasks.py worker --loglevel=info --beat