42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
| from __future__ import absolute_import, unicode_literals
 | |
| import os
 | |
| from celery import Celery
 | |
| from celery.schedules import crontab
 | |
| from datetime import timedelta
 | |
| 
 | |
| # set the default Django settings module for the 'celery' program.
 | |
| os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
 | |
| 
 | |
| app = Celery('mysite')
 | |
| 
 | |
| # Using a string here means the worker doesn't have to serialize
 | |
| # the configuration object to child processes.
 | |
| # - namespace='CELERY' means all celery-related configuration keys
 | |
| #   should have a `CELERY_` prefix.
 | |
| app.config_from_object('django.conf:settings', namespace='CELERY')
 | |
| 
 | |
| # Load task modules from all registered Django app configs.
 | |
| app.autodiscover_tasks()
 | |
| 
 | |
| 
 | |
| @app.task(bind=True)
 | |
| def debug_task(self):
 | |
|     print('Request: {0!r}'.format(self.request))
 | |
| 
 | |
| app.conf.update(
 | |
|   CELERYBEAT_SCHEDULE = {
 | |
|     'yc-task': {
 | |
|       'task': 'safesite.tasks.ycjs',
 | |
|       #'schedule': crontab(hour=4, minute=30, day_of_week=1),
 | |
|       #'schedule': timedelta(seconds=20),
 | |
|       #'schedule': crontab(minute=00,hour=1,day_of_month=1),
 | |
|       'schedule': crontab(minute=2),
 | |
|       #'args': (5, 6)
 | |
|     },
 | |
|     'risk-task': {
 | |
|       'task': 'safesite.tasks.risktask',
 | |
|       'schedule': timedelta(minutes=1),
 | |
|       #'args': (5, 6)
 | |
|     },
 | |
|   }
 | |
| ) |