Is Google App Engine tmp folder isolated per instance? [closed]
There's very little information about the /tmp/ folder which App Engine can use to write files. https://cloud.google.com/appengine/docs/standard/java/runtime-java8#Java_The_sandbox
The main question is if this is isolated per instance? And if an instance saves a file, starts a push queue, will the push queue be ran by the same instance and able to read the file?
Thanks
java google-app-engine
closed as off-topic by DaveyDaveDave, Oussema Aroua, Nic3500, cнŝdk, Matthieu Brucher Nov 19 '18 at 15:53
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on Super User." – DaveyDaveDave, Nic3500
If this question can be reworded to fit the rules in the help center, please edit the question.
add a comment |
There's very little information about the /tmp/ folder which App Engine can use to write files. https://cloud.google.com/appengine/docs/standard/java/runtime-java8#Java_The_sandbox
The main question is if this is isolated per instance? And if an instance saves a file, starts a push queue, will the push queue be ran by the same instance and able to read the file?
Thanks
java google-app-engine
closed as off-topic by DaveyDaveDave, Oussema Aroua, Nic3500, cнŝdk, Matthieu Brucher Nov 19 '18 at 15:53
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on Super User." – DaveyDaveDave, Nic3500
If this question can be reworded to fit the rules in the help center, please edit the question.
add a comment |
There's very little information about the /tmp/ folder which App Engine can use to write files. https://cloud.google.com/appengine/docs/standard/java/runtime-java8#Java_The_sandbox
The main question is if this is isolated per instance? And if an instance saves a file, starts a push queue, will the push queue be ran by the same instance and able to read the file?
Thanks
java google-app-engine
There's very little information about the /tmp/ folder which App Engine can use to write files. https://cloud.google.com/appengine/docs/standard/java/runtime-java8#Java_The_sandbox
The main question is if this is isolated per instance? And if an instance saves a file, starts a push queue, will the push queue be ran by the same instance and able to read the file?
Thanks
java google-app-engine
java google-app-engine
asked Nov 19 '18 at 13:16
Carl EmmothCarl Emmoth
111
111
closed as off-topic by DaveyDaveDave, Oussema Aroua, Nic3500, cнŝdk, Matthieu Brucher Nov 19 '18 at 15:53
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on Super User." – DaveyDaveDave, Nic3500
If this question can be reworded to fit the rules in the help center, please edit the question.
closed as off-topic by DaveyDaveDave, Oussema Aroua, Nic3500, cнŝdk, Matthieu Brucher Nov 19 '18 at 15:53
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on Super User." – DaveyDaveDave, Nic3500
If this question can be reworded to fit the rules in the help center, please edit the question.
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 '18 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 '18 at 15:15
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 '18 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 '18 at 15:15
add a comment |
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 '18 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 '18 at 15:15
add a comment |
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
answered Nov 19 '18 at 14:23
Dan CornilescuDan Cornilescu
28.8k113564
28.8k113564
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 '18 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 '18 at 15:15
add a comment |
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 '18 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 '18 at 15:15
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 '18 at 14:14
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 '18 at 14:14
1
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 '18 at 15:15
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 '18 at 15:15
add a comment |