--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/33df8ac3-d561-4726-8fbe-89bcaf14a9e0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
File "/base/data/home/apps/MyAPP/1.388269338940512065/pymongo/mongo_client.py", line 372, in __init__ executor.open() File "/base/data/home/apps/MyAPP/1.388269338940512065/pymongo/periodic_executor.py", line 64, in open
thread.start() File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/threading.py", line 505, in start _start_new_thread(self.__bootstrap, ()) File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/runtime.py", line 82, in StartNewThread return base_start_new_thread(Run, ())
--------------
....
File "/base/data/home/apps/MyAPP/1.388269338940512065/pymongo/mongo_client.py", line 353, in __init__
self._topology.open() File "/base/data/home/apps/MyAPP/1.388269338940512065/pymongo/topology.py", line 60, in open
self._ensure_opened() File "/base/data/home/apps/MyAPP/1.388269338940512065/pymongo/topology.py", line 273, in _ensure_opened
self._update_servers() File "/base/data/home/apps/MyAPP/1.388269338940512065/pymongo/topology.py", line 341, in _update_servers
server.open() File "/base/data/home/apps/MyAPP/1.388269338940512065/pymongo/server.py", line 35, in open
self._monitor.open() File "/base/data/home/apps/MyAPP/1.388269338940512065/pymongo/monitor.py", line 74, in open
self._executor.open() File "/base/data/home/apps/MyAPP/1.388269338940512065/pymongo/periodic_executor.py", line 64, in open
thread.start() File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/threading.py", line 505, in start _start_new_thread(self.__bootstrap, ()) File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/runtime.py", line 82, in StartNewThread return base_start_new_thread(Run, ())--------------------Threads started by this request continued executing past the hard deadline.
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/86acf991-e188-41bd-8741-56c14c84c38c%40googlegroups.com.
Hope I'am not the only one in such situation.
RE. Jeff Schnitzer: I like your pragmatic open-eye mindset. You are right, I have some conceptual misunderstandings of GAE environment. Probably because I’m old school dinosaur programming since 1986, I have another side of view. In my "world" open socket connections can be handled between threads, processes, instances even between applications on different computers. In my point of view It is all about bytes in memory and its handling. Sure, with dependency of environment.
Hope, after many days of testing GAE I better understand GAE environment and sandbox ( https://cloud.google.com/appengine/docs/python/ ).
I don't see GAE PaaS as one computer. I know, that every request can be handled by another instance on another computer in other side of Earth.
Still I don't understand why GAE have such a tools like backend modules, API for sockets, API for backend threads, Multitenancy, ... and keeping open connection to external database is such complicated even if it need running thread and open socket.
Probably is something wrong (with me) if I’m alone in this situation, but never mind, I feel that must be some nice, smart, easy and clear solution, something on 1..5 lines of code. This feeling never betray me (maybe it is for first time). Only my week knowledge and time are standing between me and that "silver bullet" solution. I believe on the silver bullets if you have enough time to find them :-)
OK, if I don't want to use VMs, what can I do now:
* I can try to rewrite PyMongo driver
* use REST API like user tetsujin1979 mention. Thanks for it. (I observe it as slower and less secure solution. )
* I still don't know enough about modules running in backend, so i don't reject this way (GAE backends is deprecated, but not modules on backend, if I understand right https://cloud.google.com/appengine/docs/python/modules/)
* use another driver, maybe it need rewrite less then PyMongo, driver Motor look like nice piece of code
* use something totally different
For now I little rewrite application logic to extensively use bulk operations. Background worker with its own open connection is still attractive imagination.
Thanks You all. If I find that "silver bullet" I'll be pleased to give it to others.