my app @ google-app-engine uses yaml settings file. i've used same approach in several similar app engine apps couple of years. app settings not have change unless @ deployment time go yaml file.
now opening , loading yaml file turned out big source of problem if had bunch of users going @ api @ same time. fixed issue year or 2 ago memcaching contents of yaml. worked long time.
i realized still occasional deadlineexceedederrors errors when trying open() file. number of open attempts should few (when manually change key used memcache really, should less amount of deployments). happens, sometimes, times out after 60 seconds, failing open file - happens when memcache reason has lost content pertaining key. that's okay because that's how memcache works, still keep memcached stuff around of time. use yaml file , never felt need use else. still, open() fails out after 60 seconds, deadlineexceedederrors.
any leads?
the error log goes this:
file "/base/data/home/apps/s~mjpuroland/1.385586677613659867/mjconfig.py", line 81, in loadversionsettings versionsettings = yaml.load(open(versionsettingsfile).read()) file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/__init__.py", line 71, in load return loader.get_single_data() file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/constructor.py", line 37, in get_single_data node = self.get_single_node() file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 36, in get_single_node document = self.compose_document() file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 55, in compose_document node = self.compose_node(none, none) file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 84, in compose_node node = self.compose_mapping_node(anchor) file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 133, in compose_mapping_node item_value = self.compose_node(node, item_key) file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 84, in compose_node node = self.compose_mapping_node(anchor) file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 133, in compose_mapping_node item_value = self.compose_node(node, item_key) file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 82, in compose_node node = self.compose_sequence_node(anchor) file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 111, in compose_sequence_node node.value.append(self.compose_node(node, index)) file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 84, in compose_node node = self.compose_mapping_node(anchor) file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/composer.py", line 127, in compose_mapping_node while not self.check_event(mappingendevent): file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/parser.py", line 98, in check_event self.current_event = self.state() file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/parser.py", line 428, in parse_block_mapping_key if self.check_token(keytoken): file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/scanner.py", line 116, in check_token self.fetch_more_tokens() file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/scanner.py", line 159, in fetch_more_tokens self.stale_possible_simple_keys() file "/base/data/home/runtimes/python27/python27_lib/versions/third_party/yaml-3.10/yaml/scanner.py", line 283, in stale_possible_simple_keys level in self.possible_simple_keys.keys(): deadlineexceedederror update: looking @ log again, realized timing out yaml.load() part, not open(). yaml problematic? yaml file have 249 kb @ moment.
Comments
Post a Comment