Backend "Process moved to another machine" and not with error 500

I have a process that takes about five minutes. It runs a cron job every two hours in the backend instance.

Recently, a process has begun to fail; not every time, but several times a day. The first thing that happens is that memcache starts throwing exceptions:

04:21:13.640 com.google.appengine.api.memcache.LogAndContinueErrorHandler handleServiceError: Service error in memcache
com.google.appengine.api.memcache.MemcacheServiceException: Memcache get: exception getting 1 key (ItemFollowableCompleted:RegionUS:P8XD:0)
at com.google.appengine.api.memcache.MemcacheServiceApiHelper$RpcResponseHandler.handleApiProxyException(MemcacheServiceApiHelper.java:68)
at com.google.appengine.api.memcache.MemcacheServiceApiHelper$1.absorbParentException(MemcacheServiceApiHelper.java:109)

None of them is a fatal exception, but after a few seconds the process ends without warning or a shutdown message. Magazines show

04:21:30.591 Process moved to a different machine.

and error 500.

Is this a problem with the Google infrastructure related to memcache, or is there something in the application code that could cause it?

+4
source share
3 answers

, Google. , , (, ,...), , .

, , , .

[1] , , , .

, Python, , .

[1] https://developers.google.com/appengine/docs/python/backends/#Python_Backend_states

+1

, ndb.putmulti() . 1. , B4_1G 2. ndb.putmulti() (2 200 ) 3. memcache (1G)

1 2 , 3, , .

, ndb, memcache, . memcache.

+1

" " -.

:

  • KIND
  • , KIND
  • " "

, " ". , , , .

, , Task Queue, , PushQueue. .

, :)

+1

All Articles