예제 #1
0
def queue_start_demo(
    github_user,
    github_repo,
    github_pr,
    github_sender=None,
    github_verify_sender=True,
    send_github_notification=False,
):
    demo_url = get_demo_url_pr(github_repo, github_pr)
    context = get_demo_context(
        demo_url=demo_url,
        github_user=github_user,
        github_repo=github_repo,
        github_pr=github_pr,
    )
    logger = get_demo_logger(__name__, **context)
    logger.info(
        'Adding demo to queue for %s/%s on PR %s (%s)',
        github_user,
        github_repo,
        github_pr,
        demo_url,
    )

    tasks = [
        start_demo_task.s(
            context=context,
            github_sender=github_sender,
            github_verify_sender=github_verify_sender,
            **context,
        )
    ]
    if send_github_notification:
        tasks.append(notify_github_task.s(context=context, **context))
    chain(*tasks).apply_async()
예제 #2
0
def queue_stop_demo(
    github_user,
    github_repo,
    github_pr,
):
    demo_url = get_demo_url_pr(github_repo, github_pr)
    context = get_demo_context(
        demo_url=demo_url,
        github_user=github_user,
        github_repo=github_repo,
        github_pr=github_pr,
    )
    logger = get_demo_logger(__name__, **context)
    logger.info(
        'Adding demo removal to queue for %s/%s on PR %s (%s)',
        github_user,
        github_repo,
        github_pr,
        demo_url,
    )

    stop_demo_task.delay(context=context, **context)