Skip to content
Snippets Groups Projects
Verified Commit 92224d6d authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Sync rooms in separate tasks

parent 0f47c6a7
No related branches found
No related tags found
1 merge request!7Resolve "Add periodic task for syncing rooms"
Pipeline #72892 canceled
...@@ -22,7 +22,6 @@ def provision_in_matrix(self, sync: bool = False) -> Union[MatrixRoom, AsyncResu ...@@ -22,7 +22,6 @@ def provision_in_matrix(self, sync: bool = False) -> Union[MatrixRoom, AsyncResu
def _provision_in_matrix(self) -> MatrixRoom: def _provision_in_matrix(self) -> MatrixRoom:
"""Create and sync a room for this group in Matrix.""" """Create and sync a room for this group in Matrix."""
room = MatrixRoom.from_group(self) room = MatrixRoom.from_group(self)
room.sync()
return room return room
......
...@@ -8,9 +8,6 @@ from .tasks import sync_room ...@@ -8,9 +8,6 @@ from .tasks import sync_room
def post_save_matrix_signal(sender, instance, created, **kwargs): def post_save_matrix_signal(sender, instance, created, **kwargs):
"""Sync Matrix room after changing a group/Matrix room/Matrix profile.""" """Sync Matrix room after changing a group/Matrix room/Matrix profile."""
if created:
return
rooms = [] rooms = []
if isinstance(instance, Group): if isinstance(instance, Group):
rooms = MatrixRoom.objects.filter(group=instance) rooms = MatrixRoom.objects.filter(group=instance)
......
from datetime import timedelta from datetime import timedelta
from typing import Sequence from typing import Sequence
from celery.task.sets import TaskSet
from aleksis.apps.matrix.models import MatrixRoom from aleksis.apps.matrix.models import MatrixRoom
from aleksis.core.celery import app from aleksis.core.celery import app
from aleksis.core.models import Group from aleksis.core.models import Group
...@@ -33,4 +35,4 @@ def sync_rooms(): ...@@ -33,4 +35,4 @@ def sync_rooms():
"""Synchronise all Matrix rooms.""" """Synchronise all Matrix rooms."""
rooms = MatrixRoom.objects.all() rooms = MatrixRoom.objects.all()
for room in rooms: for room in rooms:
room.sync() sync_room.delay(room.pk)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment