|
1 | | -import configparser |
| 1 | +from configparser import ConfigParser |
2 | 2 | import os |
3 | 3 | from os.path import join, exists |
4 | 4 |
|
5 | 5 | from celery import Celery |
| 6 | +from celery.signals import worker_ready |
6 | 7 |
|
7 | | -import passback_grades |
| 8 | +from passback_grades import run_passback |
8 | 9 | from db import db_methods |
9 | 10 | from db.db_types import Check |
10 | 11 | from main.checker import check |
11 | 12 | from main.parser import parse |
12 | 13 | from main.check_packs import BASE_PACKS |
13 | 14 | from root_logger import get_root_logger |
14 | 15 |
|
15 | | -config = configparser.ConfigParser() |
| 16 | +config = ConfigParser() |
16 | 17 | config.read('app/config.ini') |
17 | 18 |
|
18 | 19 | TASK_RETRY_COUNTDOWN = 60 # default = 3 * 60 |
|
33 | 34 | celery.conf.timezone = 'Europe/Moscow' # todo: get from env |
34 | 35 |
|
35 | 36 |
|
| 37 | +@worker_ready.connect |
| 38 | +def at_start(sender, **k): |
| 39 | + from nltk import download |
| 40 | + download('stopwords') |
| 41 | + download('punkt') |
| 42 | + |
| 43 | + from language_tool_python.download_lt import download_lt |
| 44 | + download_lt() |
| 45 | + |
| 46 | + |
36 | 47 | @celery.task(name="create_task", queue='check-solution', bind=True) |
37 | 48 | def create_task(self, check_info): |
38 | 49 | check_obj = Check(check_info) |
@@ -67,12 +78,11 @@ def create_task(self, check_info): |
67 | 78 | self.retry(countdown=TASK_RETRY_COUNTDOWN) # Retry the task, adding it to the back of the queue. |
68 | 79 |
|
69 | 80 |
|
| 81 | +@celery.task(name="passback-task", queue='passback-grade') |
| 82 | +def passback_task(): |
| 83 | + return run_passback() |
| 84 | + |
| 85 | + |
70 | 86 | def remove_files(filepaths): |
71 | 87 | for filepath in filepaths: |
72 | 88 | if exists(filepath): os.remove(filepath) |
73 | | - |
74 | | - |
75 | | -@celery.task(name="passback-task", queue='passback-grade') |
76 | | -def passback_task(): |
77 | | - print('Run passback') |
78 | | - return passback_grades.run_passback() |
|
0 commit comments