serverless-wsgi icon indicating copy to clipboard operation
serverless-wsgi copied to clipboard

Error running on enterprise: No module named 'wsgi_handler'

Open revmischa opened this issue 5 years ago • 9 comments

SERVERLESS_ENTERPRISE {
    "type": "error",
    "origin": "sls-agent",
    "payload": {
        "duration": 18.58663558959961,
        "endTime": "2020-01-16T09:40:31.293156Z",
        "logs": {},
        "operationName": "s-transaction-function",
        "schemaType": "s-span",
        "schemaVersion": "0.0",
        "spanContext": {
            "spanId": "a498db0a-2dc3-42a7-97f3-2e3c33488729",
            "traceId": "50ecfe10-ca80-476c-ba67-37652fdea771",
            "xTraceId": "Root=1-5e202f8e-2a349ce0ce1e4728ec9d4798;Parent=305f956236e9e01d;Sampled=1"
        },
        "spans": [],
        "eventTags": [],
        "startTime": "2020-01-16T09:40:31.291752Z",
        "tags": {
            "appUid": "DFlxbwPZ376gpP8GZM",
            "applicationName": "hr-tool",
            "computeContainerUptime": 209.27810668945312,
            "computeCustomArn": "arn:aws:lambda:eu-west-1:111:function:hr-dev-app",
            "computeCustomAwsRequestId": "50ecfe10-ca80-476c-ba67-37652fdea771",
            "computeCustomEnvArch": "64bit",
            "computeCustomEnvCpus": null,
            "computeCustomEnvMemoryFree": 505692160,
            "computeCustomEnvMemoryTotal": 649015296,
            "computeCustomEnvPlatform": "linux",
            "computeCustomFunctionName": "hr-dev-app",
            "computeCustomFunctionVersion": "$LATEST",
            "computeCustomInvokeId": null,
            "computeCustomLogGroupName": "/aws/lambda/hr-dev-app",
            "computeCustomLogStreamName": "2020/01/16/[$LATEST]d29ef2abd3514ff48a04960cb82c2d80",
            "computeCustomMemorySize": "512",
            "computeCustomRegion": "eu-west-1",
            "computeCustomSchemaType": "s-compute-aws-lambda",
            "computeCustomSchemaVersion": "0.0",
            "computeCustomXTraceId": "Root=1-5e202f8e-2a349ce0ce1e4728ec9d4798;Parent=305f956236e9e01d;Sampled=1",
            "computeInstanceInvocationCount": 1,
            "computeIsColdStart": true,
            "computeMemoryPercentageUsed": 0.2208316766697591,
            "computeMemorySize": "512",
            "computeMemoryUsed": null,
            "computeRegion": "eu-west-1",
            "computeRuntime": "aws.lambda.python.3.7.5",
            "computeType": "aws.lambda",
            "eventCustomStage": "dev",
            "eventSource": null,
            "eventTimestamp": "2020-01-16T09:40:31.291752Z",
            "eventType": "unknown",
            "functionName": "hr-dev-app",
            "schemaType": "s-transaction-function",
            "schemaVersion": "0.0",
            "serviceName": "hr",
            "stageName": "dev",
            "tenantId": "revmischa",
            "tenantUid": "6BjwgW8ppgFxcTwCVH",
            "pluginVersion": "3.2.7",
            "timeout": 10,
            "timestamp": "2020-01-16T09:40:31.291752Z",
            "traceId": "50ecfe10-ca80-476c-ba67-37652fdea771",
            "transactionId": "a498db0a-2dc3-42a7-97f3-2e3c33488729",
            "errorCulprit": "_find_and_load_unlocked (<frozen importlib._bootstrap>)",
            "errorExceptionMessage": "No module named 'wsgi_handler'",
            "errorExceptionStacktrace": "[{\"filename\": \"<frozen importlib._bootstrap>\", \"lineno\": 965, \"function\": \"_find_and_load_unlocked\", \"library_frame\": false, \"abs_path\": \"/var/task/<frozen importlib._bootstrap>\", \"pre_context\": [], \"context_line\": \"\", \"post_context\": []}, {\"filename\": \"<frozen importlib._bootstrap>\", \"lineno\": 983, \"function\": \"_find_and_load\", \"library_frame\": false, \"abs_path\": \"/var/task/<frozen importlib._bootstrap>\", \"pre_context\": [], \"context_line\": \"\", \"post_context\": []}, {\"filename\": \"<frozen importlib._bootstrap>\", \"lineno\": 1006, \"function\": \"_gcd_import\", \"library_frame\": false, \"abs_path\": \"/var/task/<frozen importlib._bootstrap>\", \"pre_context\": [], \"context_line\": \"\", \"post_context\": []}, {\"filename\": \"/var/lang/lib/python3.7/importlib/__init__.py\", \"lineno\": 127, \"function\": \"import_module\", \"library_frame\": false, \"abs_path\": \"/var/lang/lib/python3.7/importlib/__init__.py\", \"pre_context\": [], \"context_line\": \"return _bootstrap._gcd_import(name[level:], package, level)\", \"post_context\": []}, {\"filename\": \"/var/task/serverless_sdk/__init__.py\", \"lineno\": 53, \"function\": \"get_user_handler\", \"library_frame\": false, \"abs_path\": \"/var/task/serverless_sdk/__init__.py\", \"pre_context\": [], \"context_line\": \"user_module = import_module(user_module_name)\", \"post_context\": []}, {\"filename\": \"/var/task/s_app.py\", \"lineno\": 14, \"function\": \"<module>\", \"library_frame\": false, \"abs_path\": \"/var/task/s_app.py\", \"pre_context\": [], \"context_line\": \"user_handler = serverless_sdk.get_user_handler('wsgi_handler.handler')\", \"post_context\": []}, {\"filename\": \"/var/task/s_app.py\", \"lineno\": 19, \"function\": \"error_handler\", \"library_frame\": false, \"abs_path\": \"/var/task/s_app.py\", \"pre_context\": [], \"context_line\": \"raise e\", \"post_context\": []}, {\"filename\": \"/var/task/serverless_sdk/__init__.py\", \"lineno\": 107, \"function\": \"wrapped_handler\", \"library_frame\": false, \"abs_path\": \"/var/task/serverless_sdk/__init__.py\", \"pre_context\": [], \"context_line\": \"return user_handler(event, context)\", \"post_context\": []}, {\"filename\": \"/var/task/serverless_sdk/__init__.py\", \"lineno\": 356, \"function\": \"transaction\", \"library_frame\": false, \"abs_path\": \"/var/task/serverless_sdk/__init__.py\", \"pre_context\": [], \"context_line\": \"yield\", \"post_context\": []}]",
            "errorExceptionType": "ModuleNotFoundError",
            "errorId": "ModuleNotFoundError!$No module named 'wsgi_handler'",
            "errorFatal": true
        }
    },
    "requestId": "50ecfe10-ca80-476c-ba67-37652fdea771",
    "schemaVersion": "0.0",
    "timestamp": "2020-01-16T09:40:31.293156Z"
}
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlockedmodule

revmischa avatar Jan 16 '20 09:01 revmischa

It runs okay if I deploy it without enterprise

revmischa avatar Jan 16 '20 09:01 revmischa

I haven't tried Serverless Enterprise. Is there a way to test and replicate this for free?

logandk avatar Jan 16 '20 17:01 logandk

it's free to try. just run serverless login

revmischa avatar Jan 16 '20 17:01 revmischa

Im not sure if this is related, but when i execute;

sls wsgi serve

All good..

But when I deploy it I see this in CloudWatch;

    "errorType": "Runtime.ImportModuleError",
    "errorMessage": "Error: Cannot find module 'wsgi_handler'\nRequire stack:\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js",
    "stack": [
        "Runtime.ImportModuleError: Error: Cannot find module 'wsgi_handler'",
        "Require stack:",
        "- /var/runtime/UserFunction.js",
        "- /var/runtime/index.js",
        "    at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
        "    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
        "    at Object.<anonymous> (/var/runtime/index.js:43:30)",
        "    at Module._compile (internal/modules/cjs/loader.js:956:30)",
        "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)",
        "    at Module.load (internal/modules/cjs/loader.js:812:32)",
        "    at Function.Module._load (internal/modules/cjs/loader.js:724:14)",
        "    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)",
        "    at internal/main/run_main_module.js:17:11"
    ]
}

brett-matthews avatar Feb 11 '20 06:02 brett-matthews

@brett-matthews we're seeing that behavior too

Im not sure if this is related, but when i execute;

sls wsgi serve

All good..

But when I deploy it I see this in CloudWatch;

    "errorType": "Runtime.ImportModuleError",
    "errorMessage": "Error: Cannot find module 'wsgi_handler'\nRequire stack:\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js",
    "stack": [
        "Runtime.ImportModuleError: Error: Cannot find module 'wsgi_handler'",
        "Require stack:",
        "- /var/runtime/UserFunction.js",
        "- /var/runtime/index.js",
        "    at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
        "    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
        "    at Object.<anonymous> (/var/runtime/index.js:43:30)",
        "    at Module._compile (internal/modules/cjs/loader.js:956:30)",
        "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)",
        "    at Module.load (internal/modules/cjs/loader.js:812:32)",
        "    at Function.Module._load (internal/modules/cjs/loader.js:724:14)",
        "    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)",
        "    at internal/main/run_main_module.js:17:11"
    ]
}

revmischa avatar Feb 13 '20 15:02 revmischa

I'm hoping to look into this very soon, will give it a try on Enterprise

logandk avatar Feb 13 '20 17:02 logandk

I'm also getting this just trying to run the Flask HTTP API example with the serverless offline plugin

mikealche avatar Sep 20 '22 13:09 mikealche

@mikealche Run sls wsgi install before sls offline

logandk avatar Oct 06 '22 20:10 logandk

@mikealcheCorra sls wsgi installantessls offline

This worked perfectly for me, however I didn't understand the difference between 'sls wsgi install' and 'serverless-wsgi' and couldn't find anything by searching.

HumbertoSilv avatar Jun 20 '23 15:06 HumbertoSilv