Compare commits

...

10 Commits

Author SHA1 Message Date
Administrator
20e0d1333b fix sample 2024-10-05 11:32:00 +03:00
d64df414eb fix 2024-08-18 21:26:32 +03:00
0e632f3922 fix 2024-08-18 21:23:10 +03:00
0dadaaf425 fix version 2024-08-18 21:15:11 +03:00
53f14be059 fix 2024-08-18 20:55:31 +03:00
dd2ada6f26 fix 2024-08-18 20:46:14 +03:00
600a308c70 d 2024-08-18 20:18:11 +03:00
a05edc8945 fix 2024-08-18 17:43:34 +03:00
Administrator
acde744461 remove subscription 2022-10-20 20:42:42 +03:00
Administrator
dfec871198 nginx port 2022-10-19 23:42:04 +03:00
8 changed files with 27 additions and 21 deletions

View File

@ -1,10 +1,11 @@
FROM docker:dind FROM docker:dind
RUN apk add --update python3 && ln -sf python3 /usr/bin/python RUN apk add --update python3 && ln -sf python3 /usr/bin/python
RUN python3 -m ensurepip
RUN apk update && apk add postgresql-dev gcc python3-dev musl-dev jpeg-dev zlib-dev libjpeg RUN apk update && apk add postgresql-dev gcc python3-dev musl-dev jpeg-dev zlib-dev libjpeg
RUN pip3 install --upgrade pip wheel setuptools RUN apk add py3-pip
RUN addgroup -S docker RUN python3 -m venv venv
RUN source venv/bin/activate
RUN pip install --break-system-packages --upgrade pip wheel setuptools
ENV PYTHONUNBUFFERED 1 ENV PYTHONUNBUFFERED 1
ENV DJANGO_SETTINGS_MODULE Sprint.settings ENV DJANGO_SETTINGS_MODULE Sprint.settings
@ -14,7 +15,7 @@ COPY requirements.txt /usr/src/app/requirements.txt
WORKDIR /usr/src/app/ WORKDIR /usr/src/app/
RUN pip3 install -r requirements.txt RUN pip install -r requirements.txt --break-system-packages
COPY . /usr/src/app/ COPY . /usr/src/app/

View File

@ -0,0 +1,16 @@
# Generated by Django 3.2.4 on 2022-10-20 17:42
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('Main', '0039_auto_20221013_1855'),
]
operations = [
migrations.DeleteModel(
name='Subscription',
),
]

View File

@ -2,7 +2,6 @@ from Main.models.userinfo import UserInfo
from Main.models.group import Group from Main.models.group import Group
from Main.models.task import Task from Main.models.task import Task
from Main.models.set import Set from Main.models.set import Set
from Main.models.subscription import Subscription
from Main.models.settask import SetTask from Main.models.settask import SetTask
from Main.models.solution import Solution from Main.models.solution import Solution
from Main.models.extrafile import ExtraFile from Main.models.extrafile import ExtraFile

View File

@ -1,12 +0,0 @@
from django.db import models
from django.contrib.auth.models import User
from Main.models.group import Group
class Subscription(models.Model):
group = models.ForeignKey(
Group, on_delete=models.CASCADE, related_name="subscriptions"
)
user = models.ForeignKey(User, on_delete=models.CASCADE)
role = models.IntegerField()

View File

@ -36,11 +36,11 @@ class MainView(BaseView):
all_tasks = Task.objects.filter(solution__user=self.request.user).distinct() all_tasks = Task.objects.filter(solution__user=self.request.user).distinct()
ok_tasks = all_tasks.filter(solution__result="OK").distinct() ok_tasks = all_tasks.filter(solution__result="OK").distinct()
undone_tasks = set(all_tasks) - set(ok_tasks) undone_tasks = set(all_tasks) - set(ok_tasks)
self.context['undone_tasks'] = sample(undone_tasks, k=min(5, len(undone_tasks))) self.context['undone_tasks'] = sample(list(undone_tasks), k=min(5, len(undone_tasks)))
for task in self.context['undone_tasks']: for task in self.context['undone_tasks']:
setattr(task, 'solution', Solution.objects.filter(user=self.request.user, task=task).last()) setattr(task, 'solution', Solution.objects.filter(user=self.request.user, task=task).last())
new_tasks = set(Task.objects.filter(public=True)) - set(all_tasks) new_tasks = set(Task.objects.filter(public=True)) - set(all_tasks)
self.context['new_tasks'] = sample(new_tasks, k=min(5, len(new_tasks))) self.context['new_tasks'] = sample(list(new_tasks), k=min(5, len(new_tasks)))
self.context['groups'] = Group.objects.filter( self.context['groups'] = Group.objects.filter(
Q(editors__in=self.request.user.username) | Q(creator=self.request.user) | Q( Q(editors__in=self.request.user.username) | Q(creator=self.request.user) | Q(
users=self.request.user)).distinct() users=self.request.user)).distinct()

View File

@ -6,6 +6,7 @@ from django.db import transaction
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.core.management import BaseCommand from django.core.management import BaseCommand
from django.utils import timezone from django.utils import timezone
from django import db
from pika.adapters.utils.connection_workflow import AMQPConnectorException from pika.adapters.utils.connection_workflow import AMQPConnectorException
from Main.models.outbox_message import OutboxMessage from Main.models.outbox_message import OutboxMessage
@ -37,6 +38,7 @@ class MessagingSupport(BaseCommand):
print("Message is not JSON decodable") print("Message is not JSON decodable")
return return
print(f"Got {data}, processing...") print(f"Got {data}, processing...")
db.close_old_connections()
try: try:
outbox_message = OutboxMessage.objects.get(id=data["id"]) outbox_message = OutboxMessage.objects.get(id=data["id"])
except ObjectDoesNotExist: except ObjectDoesNotExist:

View File

@ -2,7 +2,7 @@ events {}
http { http {
server { server {
listen 1235; listen 1238;
location / { location / {
proxy_pass http://web:8000/; proxy_pass http://web:8000/;
} }

View File

@ -1,5 +1,5 @@
aiofiles==0.7.0 aiofiles==0.7.0
aiohttp==3.8.0 aiohttp==3.9.0b0
amqp==5.0.6 amqp==5.0.6
asgiref==3.3.4 asgiref==3.3.4
billiard==3.6.4.0 billiard==3.6.4.0