gpt4 book ai didi

python - GAE Python 微服务不工作

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:23 25 4
gpt4 key购买 nike

尽管我想实现微服务,但我的默认 GAE 服务正在运行。默认版本有两个版本,我只在其中一个版本中实现微服务,因为我需要先对其进行测试才能将其放入主版本中。对于这个新的微服务,我创建了文件 my_module.py 和 my_module.yaml。当我运行代码“appcfg.py update my_module.py”时,上传/更新工作完美,如下面的日志所示:

10:28 AM Host: appengine.google.com
10:28 AM Application: application_name; module: my_module; version: one
10:28 AM Starting update of app: application_name, module: my_module, version: one
10:28 AM Getting current resource limits.
10:28 AM Scanning files on local disk.
10:28 AM Cloning 2 application files.
10:28 AM Compilation starting.
10:28 AM Compilation completed.
10:28 AM Starting deployment.
10:28 AM Checking if deployment succeeded.
10:28 AM Deployment successful.
10:28 AM Checking if updated app version is serving.
10:28 AM Completed update of app: application_name, module: my_module, version: one

但是,当我访问 console.cloud.google.com 检查日志时,我不断看到错误:

Traceback (most recent call last):
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
ImportError: No module named my_module

请问有人知道为什么会这样吗?

<小时/>

更新:我正在放置新微服务的代码。

my_module.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

import webapp2

class MainHandler(webapp2.RedirectHandler):
def get(self):
self.response.out.write('Hello!')
return

app = webapp2.WSGIApplication([
('/', MainHandler)
], debug=True)

my_module.yaml

application: application_name
module: my_module
version: one
runtime: python27
api_version: 1
threadsafe: true

instance_class: B1
basic_scaling:
max_instances: 1
idle_timeout: 13s

skip_files:
- ^(./)?app.yaml
- ^(./)?app.yml
- ^(./)?index.yaml
- ^(./)?index.yml
- ^(./)?#.#
- ^(./)?.~
- ^(./)?..py[co]
- ^(./)?./RCS/.*
- ^(./)?..
- ^(./)?tests$
- ^(./)?node_modules/.*
- ^(./)?Gruntfile.js
- ^(./)?package.json

handlers:
- url: /.*
script: my_module.app

更新:解决方案

正如 Avinash Raj 在评论中建议的那样,我刚刚从 my_module.yaml 中删除了 - ^(./)?..,它就开始工作了。

最佳答案

我建议您从 skip_files 部分中删除 ^(./)?.. regex stmt,因为正则表达式中的未转义点不仅匹配点,还匹配它匹配任何单个字符,这会导致跳过名称中至少包含两个字母的任何文件。如果你真的指的是一个点,那么像 ^(./)?\.\.

一样转义它

关于python - GAE Python 微服务不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41164859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com