1.まず、ディレクトリcelery.pyに同じ名前のプロジェクトをビルドします
__future__ インポートabsolute_import 輸入OS からセロリのインポートセロリ から日時の輸入はtimedelta から昆布のインポートキュー #「セロリ」プログラムのデフォルトのDjango設定モジュールを設定します。 os.environ.setdefault(' DJANGO_SETTINGS_MODULE '、' OpsManage.settings ' )
から django.conf インポート設定 アプリ =セロリ(' OpsManage ' ) #ここでは、文字列を使用すると、労働者がする必要はありません意味 #のWindowsを使用している場合、オブジェクトピクルス。 #配置セロリ クラス設定: BROKER_URL = ' AMQP://ゲスト:localhostの@ゲスト:5672 // ' CELERY_RESULT_BACKEND = ' Redisの:// localhostを:6379 ' CELERY_ACCEPT_CONTENT = [ ' アプリケーション/ jsonの' ] CELERY_TASK_SERIALIZER = ' jsonの' CELERY_RESULT_SERIALIZER = ' JSON ' CELERY_TASK_RESULT_EXPIRES = 60 * 60 CELERY_TIMEZONE = ' アジア/上海' CELERY_ENABLE_UTC = Trueの CELERY_ANNOTATIONS = { ' * ' { ' RATE_LIMIT ':' 500 / S ' }} CELERYBEAT_SCHEDULER = ' djcelery.schedulers.DatabaseScheduler ' app.config_from_object(構成) #各自動でAPPへ見つかったtasks.pyファイル app.autodiscover_tasks() #crontabの設定 app.conf.update( CELERYBEAT_SCHEDULE = { #すべての機能は、30秒後に行われます ' すべて-30-MIN-追加' :{ ' タスク':' apps.tasks.celery_assets.push_host_by_salt_tasks ' 、 ' スケジュール':はtimedelta(= 30秒) ##毎日午前12時00分 #'スケジュール':crontabの(=分0 = 0時間) }、 }、 ) # 昆布:セロリ、メッセージを送受信するための独自のライブラリーは、高レベルのインタフェースプロトコルAMQPを使用する、Python言語習慣に沿って設けられている キュー(「一過性」、routing_key = 「一過性」、はdelivery_mode = 1)
settings.py 2.設定セロリ
INSTALLED_APPS = [ ...... ' django_celery_beat ' 、 ' django_celery_results ' 、 ]
同じ名前のプロジェクトディレクトリ3.断言セロリタスク__init__.pyファイル、それを検出しようとして覚えています
#のコード:UTF-8 から __future__ インポートabsolute_import、unicode_literals #これは時に必ずアプリが常にインポートされるようになります #Djangoはそうshared_taskは、このアプリを使用することを開始します。 セロリインポートcelery_appとしてアプリ__all__ = [ ' celery_app ' ] インポートpymysql pymysql.install_as_MySQLdb()
task.pyリガでタスク機能を実行する4. @
セロリのインポートタスク #1 タイマータスク @taskの DEFのpush_host_by_salt_tasks(): 「」「balabala」「」 リターン 「ここでタイミングタスクです」