Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Erro Heroku

Estou tendo um problema na url de home no heroku, porem quando eu testo na minha maquina funciona normalmente todas as urls Esta dando erro 500

Rota da home

module.exports=function(app){
  app.get('/',function(req,res){
    var connection = app.infra.connectionFactory(); //express load
    var produtosDao =new app.infra.ProdutoDAO(connection);
    produtosDao.lista(function(erros,resultados){
      res.render('home/index',{livros:resultados});
    });
    connection.end();
  });

};
7 respostas

Diego, tudo bem? Erro 500 pode ser muita coisa, apenas pelo número do erro não dá pra ajudar muito. Você não consegue nenhuma mensagem de erro no servidor?

A mensagem que aparece é Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Todas as outras urls estao funcionando somente a home que nao esta. Porem quando eu testo local funciona normamente

Diego, essa mensagem é a que o navegador apresenta, no servidor voce deve ter uma mensagem de erro mais especifica. Mostrando onde foi o erro, qual arquivo e qual linha.

Nos logs indica só isso:

2016-12-20T15:54:23.671146+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=cdc-nodejs-alura.herokuapp.com request_id=35d3803c-d2de-4b32-9138-e5297a73d6b8 fwd="152.249.192.199" dyno= connect= service= status=503 bytes=

teria algum lugar no heroku que eu possa ver isso com mais detalhes?

Acho que sei o q pode estar causando esse erro. Testei trocar a pagina index.ejs por um html simples e abriu no heroku. Baixei a pagina index.ejs no final do curso e mesmo assim continuou dando erro. Alguem poderia me mostrar o codigo do index.ejs para eu ver se tem algo errado

Segue o meu :

<html ng-app="cdcApp">
<head>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
    <link rel="icon"
          href="//cdn.shopify.com/s/files/1/0155/7645/t/177/assets/favicon.ico?11981592617154272979"
          type="image/ico"/>
    <link href="https://plus.googlecom/108540024862647200608"
          rel="publisher"/>
    <title>Livros de Java, SOA, Android, iPhone, Ruby on Rails e
        muito mais - Casa do Código</title>
    <link href="/css/site/cssbase-min.css"
          rel="stylesheet" type="text/css" media="all"/>
    <link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700'
          rel='stylesheet'/>
    <link
            href="/css/site/fonts.css"
            rel="stylesheet" type="text/css" media="all"/>
    <link
            href="/css/site/fontello-ie7.css"
            rel="stylesheet" type="text/css" media="all"/>
    <link
            href="/css/site/fontello-embedded.css"
            rel="stylesheet" type="text/css" media="all"/>
    <link
            href="/css/site/fontello.css"
            rel="stylesheet" type="text/css" media="all"/>

    <link
            href="/css/site/style.css"
            rel="stylesheet" type="text/css" media="all"/>

    <link
            href="/css/site/layout-colors.css"
            rel="stylesheet" type="text/css" media="all"/>
    <link
            href="/css/site/responsive-style.css"
            rel="stylesheet" type="text/css" media="all"/>
    <link rel="canonical" href="http://www.casadocodigo.com.br/"/>

    <link href="/css/site/book-collection.css"
          rel="stylesheet" type="text/css" media="all"/>
</head>
<body class="home">

<header id="layout-header">
    <div class="clearfix container">
        <a href="/" id="logo">
            <!-- <img src="http://cdn.shopify.com/s/files/1/0155/7645/t/177/assets/casa-do-codigo-blue.svg?11981592617154272979" alt="Casa do Codigo"> -->
        </a>

        <div id="header-content">
            <nav id="main-nav">

                <ul class="clearfix">
                    <li><a href="/cart" rel="nofollow">Seu carrinho</a></li>

                    <li><a href="/pages/sobre-a-casa-do-codigo" rel="nofollow">Sobre</a></li>

                    <li><a href="/pages/perguntas-frequentes" rel="nofollow">Perguntas</a></li>
                </ul>
            </nav>
        </div>
    </div>
</header>
<nav class="categories-nav">
    <ul class="container">
        <li class="category"><a href="http://www.casadocodigo.com.br">Home</a></li>
        <li class="category"><a href="/collections/livros-de-agile">
                Agile </a></li>
        <li class="category"><a href="/collections/livros-de-front-end">
                Front End </a></li>
        <li class="category"><a href="/collections/livros-de-games">
                Games </a></li>
        <li class="category"><a href="/collections/livros-de-java">
                Java </a></li>
        <li class="category"><a href="/collections/livros-de-mobile">
                Mobile </a></li>
        <li class="category"><a
                    href="/collections/livros-desenvolvimento-web"> Web </a></li>
        <li class="category"><a href="/collections/outros"> Outros </a></li>
    </ul>
</nav>

<!-- inicio da listagem em si-->
<section id="index-section" class="container middle" ng-controller="HomeController">

    <ul id="home-highlight-collection">
        <%for(i=0; i<3; i++) {%>
        <li class="col-left">
            <a href="linkDetalhe" class="block clearfix">
                <img width="170" height="240" src="urlImagem" alt="<%=livros[i].titulo%>" title="<%=livros[i].titulo%>"/>

                <h2 class="product-title"><%=livros[i].titulo%></h2>
                <small class="buy-button">Lan&#231;amento!</small>
            </a>
        </li>
        <%}%>
    </ul>


    <h1 class="cdc-call">Últimos dias com os preços promocionais.
        Aproveite!</h1>

    <ul class="clearfix book-collection">
        <%for(i=0; i<livros.length; i++) {%>
            <li>
                <a href="linkDetalhe" class="block clearfix">
                    <h2 class="product-title"><%=livros[i].titulo%></h2>
                    <img width="143"
                         height="202"
                         src="linkImagemCapa"
                         alt="<%=livros[i].titulo%>"
                         title="<%=livros[i].titulo%>"/>

                    <small class="buy-button">Compre</small>
                </a>
            </li>
        <%}%>

    </ul>

    <h2 class="cdc-call">Diferenciais da Casa do Código</h2>

    <ul id="cdc-diferenciais" class="clearfix">
        <li class="col-left">
            <h3>E-books sem DRM. Leia onde quiser</h3>

            <p>
                <span class="sprite" id="sprite-drm"></span> Nossos e-books não
                possuem DRM, ou seja, você pode ler em qualquer computador, tablet
                e smartphone.
            </p>
        </li>
        <li class="col-right">
            <h3>Autores de renome na comunidade</h3>

            <p>
                <span class="sprite" id="sprite-renome"></span> Autores que
                participam ativamente na comunidade com Open Source, listas de
                discussão, grupos e mais.
            </p>
        </li>
        <li class="col-left">
            <h3>Receba atualizações dos e-books</h3>

            <p>
                <span class="sprite" id="sprite-atualizacoes"></span> Quando você
                compra um e-book, automaticamente tem direito às atualizações e
                correções dele.
            </p>
        </li>
        <li class="col-right">
            <h3>Livros com curadoria da Caelum</h3>

            <p>
                <span class="sprite" id="sprite-caelum"></span> Desenvolvedores
                experientes que avaliam e revisam os livros constantemente.
            </p>
        </li>
    </ul>


</section>

<!-- fim-->

<footer id="layout-footer">
    <div class="clearfix container">


        <div id="collections-footer">
            <!-- cdc-footer -->
            <p class="footer-title">Coleções de Programação</p>
            <ul class="footer-text-links">
                <li><a href="/collections/livros-de-java">Java</a></li>
                <li><a href="/collections/livros-desenvolvimento-web">Desenvolvimento
                        Web</a></li>
                <li><a href="/collections/livros-de-mobile">Mobile</a></li>
                <li><a href="/collections/games">Games</a></li>
                <li><a href="/collections/livros-de-front-end">Front End</a></li>
            </ul>
            <p class="footer-title">Outros Assuntos</p>
            <ul class="footer-text-links">
                <li><a href="/collections/livros-de-agile">Agile</a></li>
                <li><a href="/collections/outros">e outros...</a></li>
            </ul>
        </div>
        <div id="social-footer">
            <!-- books-footer -->
            <p class="footer-title">Links da Casa do Código</p>
            <ul class="footer-text-links">
                <li><a href="http://livros.casadocodigo.com.br" rel="nofollow">Meus
                        E-books</a></li>
                <li><a href="/pages/sobre-a-casa-do-codigo">Sobre a Casa
                        do Código</a></li>
                <li><a href="/pages/perguntas-frequentes">Perguntas
                        Frequentes</a></li>
                <li><a href="https://www.caelum.com.br">Caelum - Ensino e
                        Inovação</a></li>
                <li><a href="http://www.codecrushing.com/" rel="nofollow">Code
                        Crushing</a></li>
                <li><a
                            href="http://www.casadocodigo.com.br/pages/politica-de-privacidade"
                            rel="nofollow">Política de Privacidade</a></li>
            </ul>
            <p class="footer-title">Redes Sociais</p>
            <ul>
                <li class="social-links"><a
                            href="http://www.twitter.com/casadocodigo" target="_blank"
                            id="twitter" rel="nofollow">Facebook</a> <a
                            href="http://www.facebook.com/casadocodigo" target="_blank"
                            id="facebook" rel="nofollow">Twitter</a></li>
            </ul>
        </div>
        <div id="newsletter-footer">
            <!-- social-footer -->
            <p class="footer-title">Receba as Novidades e Lançamentos</p>

            <div id="form-newsletter">
                <form
                        action=""
                        method="POST" id="ss-form" class="form-newsletter">
                    <ul>
                        <li><input type="hidden" name="pageNumber" value="0"/><input
                                    type="hidden" name="backupCache" value=""/><input
                                    type="email" name="entry.0.single" value="" class="ss-q-short"
                                    id="entry_0" placeholder="seu@email.com"/></li>
                        <li><input type="submit" name="submit"
                                   value="Quero Receber!" id="submit-newsletter"/></li>
                    </ul>
                </form>
                <ul>
                    <li class="ie8"><a
                                href=""
                                rel="nofollow">Receba as Novidades e Lançamentos</a></li>
                </ul>
            </div>
            <ul class="footer-payments">
                <li><img class="accepts-paypal"
                         src="//cdn.shopify.com/s/files/1/0155/7645/t/177/assets/accepts_paypal.png?11981592617154272979"
                         border="0" alt="Paypal" width="130" height="80"/></li>
                <li><img class="accepts-pagseguro"
                         src="//cdn.shopify.com/s/files/1/0155/7645/t/177/assets/logopagseguro.png?11981592617154272979"
                         border="0" alt="PagSeguro" width="180" height="26"/></li>
            </ul>
        </div>
    </div>
</footer>
<script src="/socket.io/socket.io.js"></script>
<script>
    var socket = io();
    socket.on('novaPromocao', function (data) {
        //document.location.href= "/produtos/"+data.livro.id+"?promocao="+data.mensagem;
        console.log(data.livro);
    });
</script>
</body>
</html>

Descobri onde esta o erro, em uma parte que lista os livros cadastrado na index.ejs . Removi e funcionou porem nao entendi pq esta dando erro, sendo que local esta funcionando normamente.

    <ul class="clearfix book-collection">
        <%for(i=0; i<livros.length; i++) {%>
            <li>
                <a href="linkDetalhe" class="block clearfix">
                    <h2 class="product-title"><%=livros[i].titulo%></h2>
                    <img width="143"
                         height="202"
                         src="linkImagemCapa"
                         alt="<%=livros[i].titulo%>"
                         title="<%=livros[i].titulo%>"/>

                    <small class="buy-button">Compre</small>
                </a>
            </li>
        <%}%>

    </ul>
    <ul id="home-highlight-collection">
        <%for(i=0; i<3; i++) {%>
        <li class="col-left">
            <a href="linkDetalhe" class="block clearfix">
                <img width="170" height="240" src="urlImagem" alt="<%=livros[i].titulo%>" title="<%=livros[i].titulo%>"/>

                <h2 class="product-title"><%=livros[i].titulo%></h2>
                <small class="buy-button">Lan&#231;amento!</small>
            </a>
        </li>
        <%}%>
    </ul>
solução!

Oi Diego, sem uma mensagem de erro fica muito dificil encontrar o erro no código, mais complicado ainda com códigos grandes.

Trocar o ejs por um html funciona por que html não tem processamento no servidor, mas ejs sim. Porém isso já é um começo, voce pode ter descobrido por onde pode estar o erro, mas ainda sim, e bem complicado bater o olho no código e achar o erro sem uma descrição clara do que está acontecendo...