Skip to content

Commit 2da0bdf

Browse files
committed
wip
1 parent d24742b commit 2da0bdf

File tree

5 files changed

+37
-6
lines changed

5 files changed

+37
-6
lines changed

scheduler/admin/old_task_models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ class TaskAdmin(admin.ModelAdmin):
134134
"function_string",
135135
"is_scheduled",
136136
"queue",
137+
"new_task_id",
137138
)
138139
list_display_links = ("name",)
139140
readonly_fields = ("job_id",)

scheduler/management/commands/import.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ def create_task_from_dict(task_dict: Dict[str, Any], update):
5252
if not settings.USE_TZ and not timezone.is_naive(target):
5353
target = timezone.make_naive(target)
5454
kwargs["scheduled_time"] = target
55-
model_fields = set(map(lambda field: field.attname, Task._meta.get_fields()))
55+
model_fields = filter(lambda field:hasattr(field,'attname'),Task._meta.get_fields())
56+
model_fields = set(map(lambda field: field.attname, model_fields))
5657
keys_to_ignore = list(filter(lambda _k: _k not in model_fields, kwargs.keys()))
5758
for k in keys_to_ignore:
5859
del kwargs[k]

scheduler/migrations/0019_task.py renamed to scheduler/migrations/0019_task_crontask_new_task_id_repeatabletask_new_task_id_and_more.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# Generated by Django 5.1.3 on 2024-11-19 23:36
1+
# Generated by Django 5.1.3 on 2024-11-20 20:32
22

3+
import django.db.models.deletion
34
import scheduler.models.task
45
from django.db import migrations, models
56

@@ -161,4 +162,25 @@ class Migration(migrations.Migration):
161162
),
162163
],
163164
),
165+
migrations.AddField(
166+
model_name="crontask",
167+
name="new_task_id",
168+
field=models.ForeignKey(
169+
blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to="scheduler.task"
170+
),
171+
),
172+
migrations.AddField(
173+
model_name="repeatabletask",
174+
name="new_task_id",
175+
field=models.ForeignKey(
176+
blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to="scheduler.task"
177+
),
178+
),
179+
migrations.AddField(
180+
model_name="scheduledtask",
181+
name="new_task_id",
182+
field=models.ForeignKey(
183+
blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to="scheduler.task"
184+
),
185+
),
164186
]

scheduler/models/__init__.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
from .args import TaskKwarg, TaskArg, BaseTaskArg # noqa: F401
2-
from .queue import Queue # noqa: F401
3-
from .scheduled_task import BaseTask, ScheduledTask, RepeatableTask, CronTask # noqa: F401
4-
from .task import Task # noqa: F401
1+
from .args import TaskKwarg, TaskArg
2+
from .scheduled_task import BaseTask, ScheduledTask, RepeatableTask, CronTask
3+
from .queue import Queue
4+
from .task import Task
5+
6+
__all__ = [
7+
"TaskKwarg", "TaskArg",
8+
"ScheduledTask", "RepeatableTask", "CronTask",
9+
"Queue", "Task",
10+
]

scheduler/models/scheduled_task.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ class BaseTask(models.Model):
124124
>0: Result expires after n seconds."""
125125
),
126126
)
127+
new_task_id = models.ForeignKey('Task', on_delete=models.CASCADE, blank=True, null=True)
127128

128129
def callable_func(self):
129130
"""Translate callable string to callable"""

0 commit comments

Comments
 (0)