OJ2.0 Django+Rabbitmq+Celery配置

在cugbacm@AY14040915414956495eZ:~/oj/oj/oj目录下的setting文件中:

djcelery配置:

INSTALLED_APPS = (
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'djcelery',
     'cugbacm',
     'pagination'
 )

 import djcelery
 djcelery.setup_loader()

celery和rabbitmq配置:

 import sys
 
 CELERY_IMPORTS = (
     'cugbacm.views.problem',
     'cugbacm.views.contest_problem',
     'cugbacm.views.rejudge',
 )
 CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
 from cugbacm.models import Submit
 from datetime import timedelta
 from cugbacm.views.problem import Judge, test
 from cugbacm.views.contest_rank_update import update_running_contest_rank
 
 CELERYBEAT_SCHEDULE = {
   'add-every-60-seconds': {
     'task': 'cugbacm.views.contest_rank_update.update_running_contest_rank',
     'schedule': timedelta(seconds=60),
     'args': ([]),
   }
 }
 
 CELERY_TIMEZONE = 'Asia/Shanghai'
 BROKER_HOST = "127.0.0.1"
 BROKER_PORT = 5672
 BROKER_USER = "guest"
 BROKER_PASSWORD = "guest"
 BROKER_VHOST = "/"

celery'的task文件:

cugbacm@AY14040915414956495eZ:~/oj/oj/oj目录下的celery.py文件中:

 from __future__ import absolute_import
 import os
 from celery import Celery
 from django.conf import settings
 
 # set the default Django settings module for the 'celery' program.
 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'oj.settings')
 
 app = Celery('oj')
 
 # Using a string here means the worker will not have to
 # pickle the object when using Windows.
 app.config_from_object('django.conf:settings')
 app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
 
 
 @app.task(bind=True)
 def debug_task(self):
     print('Request: {0!r}'.format(self.request))

重启celery:sh celery_restart.sh

cugbacm@AY14040915414956495eZ:~/oj/oj目录下celery_restart.sh文件:

ps -ef|grep celery|grep -v grep|cut -c 9-15|xargs kill -9
 nohup python manage.py celeryd -B -D -l info


由于没有了解内核是怎样实现的,所以具体内核怎样发送判题任务我不太清楚,期待boss朱后期补充。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值