Skip to content

Commit 7f14b6e

Browse files
fix tasks duplicates (#2424)
* fix tasks duplicates * reformatted out of scope fie
1 parent d113336 commit 7f14b6e

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

api_app/ingestors_manager/migrations/0022_ingestor_fix_duplicated_users.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ def migrate(apps, schema_editor):
77
UserProfile = apps.get_model("authentication", "UserProfile")
88
IngestorConfig = apps.get_model("ingestors_manager", "IngestorConfig")
99
PluginConfig = apps.get_model("api_app", "PluginConfig")
10+
PeriodicTask = apps.get_model("django_celery_beat", "PeriodicTask")
1011

1112
users = User.objects.filter(username__endswith="Ingestor")
1213
for u in users:
@@ -23,7 +24,20 @@ def migrate(apps, schema_editor):
2324

2425
related_ingestor = IngestorConfig.objects.get(name__iexact=username)
2526
related_ingestor.user = correct_user
27+
28+
wrong_task = related_ingestor.periodic_task
29+
correct_task, created = PeriodicTask.objects.get_or_create(
30+
name=f"{username.title()}Ingestor"
31+
)
32+
if created:
33+
correct_task.crontab = wrong_task.crontab
34+
correct_task.queue = wrong_task.queue
35+
correct_task.kwargs = wrong_task.kwargs
36+
correct_task.enabled = wrong_task.enabled
37+
correct_task.save()
38+
related_ingestor.periodic_task = correct_task
2639
related_ingestor.save()
40+
wrong_task.delete()
2741

2842
for pc in PluginConfig.objects.filter(owner=u):
2943
pc.owner = correct_user

0 commit comments

Comments
 (0)