Agung hallman maliki
Agung hallman maliki

Reputation: 93

Task time out express AWS lambda

i got "Internal server error" on hit my endpoint request. i've using claudia with express framework and AWS lambda. but after checking logs on cloudwatch i got error Task timed out after 3.00 seconds, can u help me?

Source code :

Customer JS :

module.exports = { 
 login : async (req,res) => {
  var param = '+0855xxxx';
    var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails({
        Username : param,
        Password : '11111111'
    });

    var userData = {
        Username : param,
        Pool : userPool
    };
    var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
    cognitoUser.authenticateUser(authenticationDetails, {
        onSuccess: function (result) {
            // console.log(result.idToken.payload)
            var rez = {
                accesstoken : result.getAccessToken().getJwtToken(),
                idtoken : result.getIdToken().getJwtToken(),
                refreshtoken : result.getRefreshToken().getToken()
            }
            // var obj = JSON.parse(result)
            // console.log(obj.idToken.payload)
            res.json({status:"Success", message: rez})
        },
        onFailure: function(err) {
            console.log(err);
        },

    })

 }
}

UserRoute JS

const router = require('express-promise-router')();
const customerHandlers = require('../app/handlers/customer')

router.route('/test')
    .get(customerHandlers.test)

router.route('/login')
    .post(customerHandlers.login)

module.exports = router;

App JS

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const router = require('./routes/usersRoute')

//middleware
app.use(bodyParser.urlencoded({ extended: true }));

//routes
app.use('/customer', router)


//local
module.exports = app;

Lambda JS

'use strict'
const awsServerlessExpress = require('aws-serverless-express')
const app = require('./app')
const binaryMimeTypes = [
    'application/octet-stream',
    'font/eot',
    'font/opentype',
    'font/otf',
    'image/jpeg',
    'image/png',
    'image/svg+xml'
]
const server = awsServerlessExpress.createServer(app, null, binaryMimeTypes);
exports.handler = (event, context) => awsServerlessExpress.proxy(server, event, context)

why always got error "Internal server error" ? can u help me to solved this problem? i've been read the docs of AWS Lambda Function Handler in Nodejs and the docs say using export.Handler in my code when i using this export handler? can you show me the right way? thanks..

Upvotes: 2

Views: 1400

Answers (1)

iikkoo
iikkoo

Reputation: 2856

3 seconds sounds like the default timeout of your Lambda. Try and increase the timeout and see what happens. It is possible to increase it to 15 minutes. You change the setting under Basic Settings in your Lambda function.

enter image description here

Upvotes: 3

Related Questions