tasks.py 1.67 KB
Newer Older
1
from celery.task import Task
Bach Dániel committed
2
import logging
3
from django.core.mail import send_mail
4
from django.conf import settings
5
from one.models import Instance
Bach Dániel committed
6 7 8

logger = logging.getLogger(__name__)

9

Bach Dániel committed
10
class SendMailTask(Task):
11 12 13 14 15 16 17 18 19
    def run(self, to, subject, msg, sender=None):
        if sender is None:
            if settings.SITE_NAME:
                sender = '"%s" <%s>' % (settings.SITE_NAME.replace('"', ''),
                                        settings.DEFAULT_FROM_EMAIL)
            else:
                sender = settings.DEFAULT_FROM_EMAIL
        send_mail(subject, msg, sender, [to, ], fail_silently=False)
        logger.info("[django][one][tasks] %s->%s %s" % (sender, to, subject))
20 21 22


class UpdateInstanceStateTask(Task):
23
    def run(self, one_id, new_state):
24 25 26 27 28 29
        print one_id
        try:
            inst = Instance.objects.get(one_id=one_id)
        except:
            print 'nincs ilyen'
            return
30
        inst.state = new_state
Bach Dániel committed
31 32
        inst.waiting = False
        inst.save()
33 34
        if inst.template.state == 'SAVING':
            inst.check_if_is_save_as_done()
35
        print inst.state
36 37 38 39

# ezek csak azert vannak felveve, hogy szepen meg lehessen hivni oket
# ezeket a fejgepen futo celery futtatja

40

41 42 43 44
class CreateInstanceTask(Task):
    def run(self, name, instance_type, disk_id, network_id, ctx):
        pass

45

46 47 48 49
class DeleteInstanceTask(Task):
    def run(self, one_id):
        pass

50

51 52 53 54
class ChangeInstanceStateTask(Task):
    def run(self, one_id, new_state):
        pass

55

56 57 58 59
class SaveAsTask(Task):
    def run(self, one_id, new_img):
        pass

60

61 62 63 64
class UpdateDiskTask(Task):
    def run(self):
        pass

65

66 67 68
class UpdateNetworkTask(Task):
    def run(self):
        pass