Example #1
0
 def test_create_celery(self):
     a = app.create_app(name='unittest')
     celery = app.create_celery(app=a)
     self.assertIsInstance(celery, Celery)
     self.assertEqual(celery.main, 'unittest')
Example #2
0
 def test_create_celery(self):
     a = app.create_app(name='unittest')
     celery = app.create_celery(app=a)
     self.assertIsInstance(celery, Celery)
     self.assertEqual(celery.main, 'unittest')
Tasks that should live outside of the request/response cycle
"""
import json
import logging
import datetime

from mc.app import create_celery
from mc.models import db, Build, Commit
from mc.config import DOCKER_BRIDGE
from mc.builders import DockerImageBuilder, DockerRunner, docker_runner_factory, TestRunner
from mc.utils import get_boto_session, load_yaml_ordered
from flask import current_app
from docker import Client, errors
from werkzeug.security import gen_salt

celery = create_celery()

logger = logging.getLogger()


@celery.task()
def register_task_revision(ecsbuild):
    """
    Calls the registerTaskDefinition aws-api endpoint to update a task
    definition based on the ECSBuild.
    This must be called within an app context.
    :param ecsbuild: the dockerrun.aws.json, represented as a ECSBuild or a
        JSON-formatted string
    :type ecsbuild: mc.builders.ECSBuild or basestring
    """
    client = get_boto_session().client('ecs')