django浠诲姟璋冨害鏂规硶鎬庝箞浣跨敤
Django涓殑浠诲姟璋冨害鍙互閫氳繃浠ヤ笅鏂规硶杩涜浣跨敤锛?/p>
- 浣跨敤Django鑷甫鐨勪换鍔¤皟搴﹀櫒 - Django鎻愪緵浜嗕竴涓唴缃殑浠诲姟璋冨害鍣紝鍙互杞绘澗鍦板湪椤圭洰涓娇鐢ㄣ€傞鍏堬紝鍦╯ettings.py鏂囦欢涓坊鍔犱互涓嬩唬鐮侊細
INSTALLED_APPS = [
...
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.sitemaps',
'django.contrib.admin',
'django_crontab', # 娣诲姞姝よ
...
]
鐒跺悗锛屽湪settings.py鏂囦欢鐨勬湯灏炬坊鍔犱互涓嬩唬鐮侊細
CRONJOBS = [
('*/15 * * * *', 'myapp.tasks.my_task'), # 姣?5鍒嗛挓鎵ц涓€娆y_task鍑芥暟
]
鏈€鍚庯紝鍦ㄩ」鐩殑鏍圭洰褰曚笅杩愯浠ヤ笅鍛戒护浠ュ畨瑁呬换鍔¤皟搴﹀櫒锛?/p>
python manage.py crontab add
- 浣跨敤绗笁鏂瑰簱 - Django涔熸敮鎸佷娇鐢ㄧ涓夋柟搴撴潵杩涜浠诲姟璋冨害銆備竴涓父瑙佺殑搴撴槸Celery銆傞鍏堬紝瀹夎Celery搴擄細
pip install celery
鐒跺悗锛屽湪settings.py鏂囦欢涓坊鍔犱互涓嬩唬鐮侊細
INSTALLED_APPS = [
...
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.sitemaps',
'django.contrib.admin',
'celery', # 娣诲姞姝よ
...
]
CELERY_BROKER_URL = 'redis://localhost:6379' # 璁剧疆娑堟伅浠g悊鐨刄RL锛岃繖閲屼娇鐢ㄤ簡Redis
CELERY_RESULT_BACKEND = 'redis://localhost:6379' # 璁剧疆浠诲姟缁撴灉鐨勫悗绔?/span>
CELERY_BEAT_SCHEDULE = {
'my_task': {
'task': 'myapp.tasks.my_task', # 浠诲姟鎵€鍦ㄧ殑鍑芥暟
'schedule': 15*60, # 姣?5鍒嗛挓鎵ц涓€娆?/span>
},
}
鐒跺悗锛屽湪椤圭洰鐨勬牴鐩綍涓嬭繍琛屼互涓嬪懡浠や互鍚姩Celery浠诲姟璋冨害鍣細
celery -A myproject worker --beat
浠ヤ笂鏄袱绉嶅父瑙佺殑鍦―jango涓娇鐢ㄤ换鍔¤皟搴︾殑鏂规硶銆傛偍鍙互鏍规嵁鑷繁鐨勯渶姹傞€夋嫨閫傚悎鐨勬柟娉曟潵杩涜浠诲姟璋冨害銆?/p>