由於專案需要日誌檔案的功能,又由於專案中有用到celery模組,所以就看了看celery的用法,然後研究了一下如何在celery中記錄日誌。
如圖:這是我的專案的目錄,proj是專案名,celery.py檔案是celery的一些基本配置,比如你要使用的中介軟體是什麼,用的是哪台電腦的中介軟體。
比如我是用的redis,連線的是本地的伺服器。
from __future__ import absolute_import, unicode_literals
from celery import celery
broker='redis://localhost',
backend='redis://localhost',
include=['proj.tasks'])
result_expires=3600,
)if __name__ == '__main__':
tasks.py檔案就是要執行的任務
from __future__ import absolute_import, unicode_literalsconfig.py檔案就是有關日誌的配置了,不懂得可以去看看這篇文章from celery.utils.log import get_task_logger
from proj import config
def add(x, y):
logger.info("1111111")
return x + y
def mul(x, y):
return x * y
def xsum(numbers):
return sum(numbers)
具體得配置如下:
import logging.config
log_config =
},'handlers': ,
},'loggers':
}}logging.config.dictconfig(log_config)
在django中使用 配置 celery
通俗來說,celery是python的乙個非同步佇列伺服器。在我們日常web應用中,當請求乙個後端介面的時候,都是等待該介面的業務完成後再返回。那麼如果這個介面執行的任務很漫長,就可能造成服務阻塞甚至http請求超時。那麼如果web介面要執行很長時間的任務,又要保證即時給前端響應,就可以將很耗時間的...
在django中使用celery非同步任務和定時任務
在django中使用 celery django版本 1.9.8 pip install django celery redis要指定版本,預設的 3.x版本有問題 pip uninstall redis pip install redis 2.10.6 建立django的 並配置執行起來,作為 c...
在django專案中使用celery非同步傳送郵件
一 在專案虛擬環境中安裝celery和redis 在tasks.py中新增如下 from celery import celery from django.conf import settings from django.core.mail import send mail django環境初始化 ...