Question

I have an Flask app running on Google App Engine. I am trying to configure ereporter as per the instructions in this link.

I get the following error when I try to run my app using dev_appserver.py

Traceback (most recent call last):
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 82, in <module>
    _run_file(__file__, globals())
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 78, in _run_file
    execfile(_PATHS.script_file(script_name), globals_)
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 1001, in <module>
    main()
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 994, in main
    dev_server.start(options)
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 754, in start
    options.config_paths)
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 632, in __init__
    module_configuration = ModuleConfiguration(config_path)
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 97, in __init__
    self._config_path)
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 316, in _parse_configuration
    config, files = appinfo_includes.ParseAndReturnIncludePaths(f)
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/api/appinfo_includes.py", line 81, in ParseAndReturnIncludePaths
    appyaml = appinfo.LoadSingleAppInfo(appinfo_file)
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/api/appinfo.py", line 1873, in LoadSingleAppInfo
    listener.Parse(app_info)
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/api/yaml_listener.py", line 226, in Parse
    self._HandleEvents(self._GenerateEventParameters(stream, loader_class))
  File "/Users/xxx/google-cloud-sdk/platform/google_appengine/google/appengine/api/yaml_listener.py", line 177, in _HandleEvents
    raise yaml_errors.EventError(e, event_object)
google.appengine.api.yaml_errors.EventError: threadsafe cannot be enabled with CGI handler: $PYTHON_LIB/google/appengine/ext/ereporter/report_generator.py
  in "cfc-melbourne/app.yaml", line 51, column 1

app.yaml

# Handlers tell app engine how to route requests to your application.
handlers:
# This handler configures cron.yaml
- url: /_ereporter.*
  script: $PYTHON_LIB/google/appengine/ext/ereporter/report_generator.py
  login: admin

cron.yaml

cron:
- description: Daily exception report
  url: /_ereporter?sender=xxx.xxx@gmail.com&delete=false&date=dd-mmm-yyyy  # The sender must be an app admin.
  schedule: every day 22:05

main.py

from google.appengine.ext import ereporter
ereporter.register_logger()

What am I missing ?

Was it helpful?

Solution

The problem is not flask, the problem is outdated documentation, because the configuration that is shown is for applications with threadsafe in false. for applications with threadsafe in true the configuration is below

- url: /_ereporter.*
  script: google.appengine.ext.ereporter.report_generator.application
  login: admin

this information is taken from https://groups.google.com/forum/#!topic/google-appengine/0v9KqB5Q8sQ

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top