MinaNasser commited on
Commit
1153571
·
1 Parent(s): 96cc3c6
Files changed (3) hide show
  1. .env +2 -1
  2. celery_app.py +38 -8
  3. config.py +1 -0
.env CHANGED
@@ -17,8 +17,9 @@ QDRANT_API_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3MiOiJtIn0.NRbT0QP
17
 
18
 
19
  # ---------- REDIS ----------
20
- REDIS_HOST="rediss://default:gQAAAAAAAS-BAAIncDFiM2E3OGQ1MmU5Zjk0OGM5ODU2ZmMzYzc4NjZjYzdjMHAxNzc2OTc@steady-clam-77697.upstash.io"
21
  REDIS_PORT=6379
 
22
 
23
  # ---------- WEBHOOKS ----------
24
  CALLBACK_URL="https://webhooksite.net/c93aac48-5237-4078-9511-14d778acba2f"
 
17
 
18
 
19
  # ---------- REDIS ----------
20
+ REDIS_HOST="https://steady-clam-77697.upstash.io"
21
  REDIS_PORT=6379
22
+ REDIS_PASSWORD="gQAAAAAAAS-BAAIncDFiM2E3OGQ1MmU5Zjk0OGM5ODU2ZmMzYzc4NjZjYzdjMHAxNzc2OTc"
23
 
24
  # ---------- WEBHOOKS ----------
25
  CALLBACK_URL="https://webhooksite.net/c93aac48-5237-4078-9511-14d778acba2f"
celery_app.py CHANGED
@@ -3,11 +3,26 @@ from celery import Celery
3
  import redis
4
  from config import get_settings
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  celery_app = Celery(
7
  "assistant_worker",
8
- broker=f"{get_settings().REDIS_HOST}:{get_settings().REDIS_PORT}/0",
9
- backend=f"{get_settings().REDIS_HOST}:{get_settings().REDIS_PORT}/1",
10
- include=['generation.ExamAnswer']
11
  )
12
 
13
  celery_app.conf.update(
@@ -15,16 +30,31 @@ celery_app.conf.update(
15
  accept_content=["json"],
16
  result_serializer="json",
17
  task_track_started=True,
18
- task_time_limit=60*60,
 
 
19
  )
20
 
21
- import worker.tasks
22
- from generation.ExamAnswer import grade_exam_task
 
 
23
  def clear_redis_backend():
24
- r = redis.Redis(host=get_settings().REDIS_HOST, port=get_settings().REDIS_PORT, db=1)
25
- r.flushdb()
 
 
 
 
 
 
 
 
 
 
26
  print("Redis result backend cleared!")
27
 
 
28
  @celery_app.on_after_configure.connect
29
  def setup(sender, **kwargs):
30
  clear_redis_backend()
 
3
  import redis
4
  from config import get_settings
5
 
6
+ settings = get_settings()
7
+
8
+ REDIS_HOST = settings.REDIS_HOST
9
+ REDIS_PORT = settings.REDIS_PORT
10
+ REDIS_PASSWORD = settings.REDIS_PASSWORD
11
+
12
+ # Upstash (and most managed Redis) uses rediss:// (TLS)
13
+ # Local/Docker Redis uses redis:// (plain)
14
+ if REDIS_PASSWORD:
15
+ BROKER_URL = f"rediss://:{REDIS_PASSWORD}@{REDIS_HOST}:{REDIS_PORT}/0?ssl_cert_reqs=CERT_NONE"
16
+ BACKEND_URL = f"rediss://:{REDIS_PASSWORD}@{REDIS_HOST}:{REDIS_PORT}/1?ssl_cert_reqs=CERT_NONE"
17
+ else:
18
+ BROKER_URL = f"redis://{REDIS_HOST}:{REDIS_PORT}/0"
19
+ BACKEND_URL = f"redis://{REDIS_HOST}:{REDIS_PORT}/1"
20
+
21
  celery_app = Celery(
22
  "assistant_worker",
23
+ broker=BROKER_URL,
24
+ backend=BACKEND_URL,
25
+ include=["generation.ExamAnswer"]
26
  )
27
 
28
  celery_app.conf.update(
 
30
  accept_content=["json"],
31
  result_serializer="json",
32
  task_track_started=True,
33
+ task_time_limit=60 * 60,
34
+ broker_use_ssl={"ssl_cert_reqs": "CERT_NONE"} if REDIS_PASSWORD else None,
35
+ redis_backend_use_ssl={"ssl_cert_reqs": "CERT_NONE"} if REDIS_PASSWORD else None,
36
  )
37
 
38
+ import worker.tasks
39
+ from generation.ExamAnswer import grade_exam_task
40
+
41
+
42
  def clear_redis_backend():
43
+ if REDIS_PASSWORD:
44
+ r = redis.Redis(
45
+ host=REDIS_HOST,
46
+ port=REDIS_PORT,
47
+ password=REDIS_PASSWORD,
48
+ ssl=True,
49
+ ssl_cert_reqs=None,
50
+ db=1,
51
+ )
52
+ else:
53
+ r = redis.Redis(host=REDIS_HOST, port=REDIS_PORT, db=1)
54
+ r.flushdb()
55
  print("Redis result backend cleared!")
56
 
57
+
58
  @celery_app.on_after_configure.connect
59
  def setup(sender, **kwargs):
60
  clear_redis_backend()
config.py CHANGED
@@ -18,6 +18,7 @@ class Settings(BaseSettings):
18
  GRADE_WEBHOOK_URL: Optional[str] = None
19
  REDIS_HOST: str = "localhost"
20
  REDIS_PORT: int = 6379
 
21
  CALLBACK_URL: Optional[str] = None
22
 
23
  # ---------- BACKENDS ----------
 
18
  GRADE_WEBHOOK_URL: Optional[str] = None
19
  REDIS_HOST: str = "localhost"
20
  REDIS_PORT: int = 6379
21
+ REDIS_PASSWORD: Optional[str] = None
22
  CALLBACK_URL: Optional[str] = None
23
 
24
  # ---------- BACKENDS ----------