|
2 | 2 | from django.utils.module_loading import import_string
|
3 | 3 | from django_dbq.tasks import get_next_task_name, get_failure_hook_name, get_creation_hook_name
|
4 | 4 | from jsonfield import JSONField
|
5 |
| -from model_utils import Choices |
| 5 | +from django.db.models import UUIDField |
6 | 6 | import datetime
|
7 | 7 | import logging
|
8 | 8 | import uuid
|
9 | 9 |
|
10 |
| -try: |
11 |
| - from django.db.models import UUIDField |
12 |
| -except ImportError: |
13 |
| - from django_dbq.fields import UUIDField |
14 |
| - |
15 | 10 |
|
16 | 11 | logger = logging.getLogger(__name__)
|
17 | 12 |
|
@@ -61,13 +56,26 @@ def to_process(self, queue_name):
|
61 | 56 |
|
62 | 57 | class Job(models.Model):
|
63 | 58 |
|
64 |
| - STATES = Choices("NEW", "READY", "PROCESSING", "FAILED", "COMPLETE") |
| 59 | + class STATES: |
| 60 | + NEW = 'NEW' |
| 61 | + READY = 'READY' |
| 62 | + PROCESSING = 'PROCESSING' |
| 63 | + FAILED = 'FAILED' |
| 64 | + COMPLETE = 'COMPLETE' |
| 65 | + |
| 66 | + STATE_CHOICES = [ |
| 67 | + (STATES.NEW, "NEW"), |
| 68 | + (STATES.READY, "READY"), |
| 69 | + (STATES.PROCESSING, "PROCESSING"), |
| 70 | + (STATES.FAILED, "FAILED"), |
| 71 | + (STATES.COMPLETE, "COMPLETE"), |
| 72 | + ] |
65 | 73 |
|
66 | 74 | id = UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
67 | 75 | created = models.DateTimeField(auto_now_add=True, db_index=True)
|
68 | 76 | modified = models.DateTimeField(auto_now=True)
|
69 | 77 | name = models.CharField(max_length=100)
|
70 |
| - state = models.CharField(max_length=20, choices=STATES, default=STATES.NEW, db_index=True) |
| 78 | + state = models.CharField(max_length=20, choices=STATE_CHOICES, default=STATES.NEW, db_index=True) |
71 | 79 | next_task = models.CharField(max_length=100, blank=True)
|
72 | 80 | workspace = JSONField(null=True)
|
73 | 81 | queue_name = models.CharField(max_length=20, default='default', db_index=True)
|
|
0 commit comments