跳到主要内容
知仓学习社ZHICANG

django-celery

DjangoおよびCeleryを使用した非同期タスク処理。タスクキューイング、ワーカー管理、エラー処理、スケジューリング。Redis/RabbitMQ ブローカー統合。

不碰外部(只输出文字)无严重或高危命中affaan-m/ECC

它会碰到什么

扫了多少1 个文本文件,1 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Django + Celery 非同期タスク

Django でのバックグラウンドジョブと非同期処理。

使用時期

  • メール送信をバックグラウンドで実行
  • 重い処理をスケジュール
  • 定期的なタスクを実行(日報、クリーンアップ)
  • 外部API呼び出しをキューイング
  • 複雑なワークフローを調整

セットアップ

1. Celery インストール

pip install celery redis

2. タスク定義

from celery import shared_task

@shared_task
def send_email(recipient):
    # メール送信ロジック
    pass

3. ワーカー起動

celery -A myapp worker -l info

タスク

非同期実行

send_email.delay(recipient)  # すぐにキューに追加、非同期実行

スケジューリング

from celery.schedules import crontab

app.conf.beat_schedule = {
    'send-report-daily': {
        'task': 'app.tasks.send_report',
        'schedule': crontab(hour=9, minute=0),
    },
}

エラーハンドリング

  • [ ] リトライロジック実装
  • [ ] デッドレター処理
  • [ ] ロギング構成
  • [ ] モニタリング設定(Flower)

詳細については、ドキュメントを参照してください。

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 2 个不同仓库或目录里都有叫 django-celery 的技能。它们内容并不相同,别混用:

  • affaan-m/ECC — Django + Celery async task patterns — configuration, task design, beat scheduling, retries