Re: [google-appengine] A bug in custom domain / HR datastore app management.

2011-08-18 Thread Sergey Schetinin
While I was contacted by Greg off-list (thanks), the issue is still
there, after almost two months. It exhibits itself slightly
differently, but is still not fixed.

Now not a single appengine app can be removed from the Google Apps
account. Can please a Google employee reply and I'll provide exact
steps to reproduce.

On 1 July 2011 08:39, Sergey Schetinin  wrote:
> The problem is still there. Can I please get a reply from a Google employee?
>
> On 29 June 2011 09:30, Sergey Schetinin  wrote:
>> TLDR: There's a bug in Google Apps / App Engine that make it impossible for
>> me to manage an existing domain alias.
>> I have an application that uses HR datastore, the app has an alias on a
>> custom domain. The problem is, I can't manage it. When I log into Google
>> Apps dashboard and navigate to Settings -> Services, the app is listed on
>> the left, but I get an error trying to access the management page for it:
>> "We are unable to process your request at this time. Please try again later.
>> (Error #1000)", but management pages for every other app with an alias on
>> that domain work fine.
>> If I start with the appengine dashboard and go Application Settings ->
>> Domain Setup -> Add domain and enter the domain where it's aliased, I do get
>> to the management page, but it lacks the existing alias, so I can't remove
>> it. In the Apps dashboard, this app is now listed twice -- once with the s~
>> prefix, and not working, and once without a prefix, but lacking the existing
>> alias.
>> I suppose the reason for this is that the app and the alias were created
>> quite early after the HR datastore was made available, and the s~ hack was
>> handled differently then and now.
>> I suppose I need to provide Google with the App Id and the domain name, but
>> please contact me off-list for those.
>> Thank you.
>> -Sergey
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google App Engine" group.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msg/google-appengine/-/D_CllGMhIi8J.
>> To post to this group, send email to google-appengine@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-appengine+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine?hl=en.
>>
>
>
>
> --
> http://self.maluke.com/
>



-- 
http://self.maluke.com/

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Datastore Viewer report permanent "Server Error"

2011-08-18 Thread Fabio Sgrò
It should be "nomination-edocs".
Thanks for the help!

Fabio



On 17 Ago, 18:40, "Ikai Lan (Google)"  wrote:
> Can you guys give me your app IDs?
>
> I suspect there's a bad entity somewhere that is breaking this.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> plus.ikailan.com | twitter.com/ikai
>
> On Wed, Aug 17, 2011 at 8:43 AM, Fabio Sgrò wrote:
>
>
>
>
>
>
>
> > Someone has any suggestion?
> > We are unable to see only the "Datastore Viewer", all other functions
> > are working correctly...
>
> > Thanks
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Task Queue on backend runs much slower than it's configured to

2011-08-18 Thread pdknsk
It seems like the enforced rate situation has improved.

2011-08-17 23:02:10.404 /mail/ 200 21ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:10.270 /mail/ 200 221ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:09.739 /mail/ 200 24ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:09.407 /mail/ 200 26ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:09.141 /mail/ 200 439ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:09.117 /_ah/start 404 303ms 93cpu_ms 0kb instance=0

2011-08-17 22:02:27.251 /mail/ 200 26ms 0cpu_ms 0kb instance=0
2011-08-17 22:02:26.919 /mail/ 200 28ms 0cpu_ms 0kb instance=0
2011-08-17 22:02:26.638 /mail/ 200 80ms 0cpu_ms 0kb instance=0
2011-08-17 22:02:26.258 /mail/ 200 26ms 0cpu_ms 0kb instance=0
2011-08-17 22:02:26.108 /mail/ 200 227ms 23cpu_ms 0kb instance=0
2011-08-17 22:02:26.081 /_ah/start 404 91ms 46cpu_ms 0kb instance=0

Could it be that factors outside of the app, like high server load,
can influence task rate on backends?

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Datastore Viewer report permanent "Server Error"

2011-08-18 Thread pdknsk
I've had this as well some days ago. It fixed itself the same day.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Datastore Viewer report permanent "Server Error"

2011-08-18 Thread Fabio Sgrò
The problem is present since ten days and it has never fixed itself...

On 18 Ago, 10:47, pdknsk  wrote:
> I've had this as well some days ago. It fixed itself the same day.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Blobstore "list index out of range"

2011-08-18 Thread misteff25
Sorry for the delay.  Yes, that was the problem.  I didn't realize
that I had to generate a new URL every time.  I have now added
Javascript code to make an xmlhttpRequest to get an upload URL before
the the phone app tries to upload the file.  Thanks!

On Aug 10, 12:28 am, Robert Kluin  wrote:
> Hi,
>   Are you correctly generating an upload url?
>    http://code.google.com/appengine/docs/python/blobstore/overview.html#...
>
> Robert
>
>
>
>
>
>
>
> On Mon, Aug 8, 2011 at 16:37,misteff25 wrote:
> > I am trying updload a picture from a Phonegap application to my Python
> > App Engine project.  The phone app trys to upload the file but App
> > engine returns a "list index out of range" error.  Most of this code
> > is very similar to some of the sample projects.
>
> > I have the following code on the App Engine side to handle the files,
>
> >        class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
> >                def post(self):
> >                upload_files = self.get_uploads('file')  # 'file' is file 
> > upload
> > field in the form
> >                blob_info = upload_files[0]
> >                self.redirect('/serve/%s' % blob_info.key())
>
> > And the following code on the PhoneGap side,
>
> >        function uploadImage() {
> >            var smallImage = document.getElementById('cameraImage');
> >            if (smallImage.src && smallImage.src !== "") {
> >                var f = new FileTransfer();
> >                f.upload(smallImage.src, "http://testtest.appspot.com/
> > upload",
> >                    // success callback
> >                    function(result) {
>
> > document.getElementById('uploadProgress').innerHTML =
> >                            result.bytesSent + ' bytes sent';
> >                        alert(result.responseCode + ": " +
> > result.response);
> >                    },
> >                    // error callback
> >                    function(error) {
> >                        alert('error uploading file: ' + error.code);
> >                    },
> >                    // options
> >                    { fileName: 'myImage.jpg',
> >                      params: { 'username':'jtyberg' }
> >                    });
> >            }
> >        }
>
> > The errir us as follows,
>
> > "POST /upload HTTP/1.1" 500 487 - "BlackBerry9550/5.0.0.469 Profile/
> > MIDP-2.1 Configuration/CLDC-1.1 VendorID/-1" "testtest.appspot.com"
> > ms=416 cpu_ms=93 api_cpu_ms=0 cpm_usd=0.014221 loading_request=1
> > instance=00c61b117ca6c4ea405471eea592a8f79ac6
> >        E 2011-08-06 11:49:17.309
> >        list index out of range
> >        Traceback (most recent call last):
> >                File 
> > "/base/python_runtime/python_lib/versions/1/google/appengine/
> > ext/webapp/__init__.py", line 702, in __call__
> >                handler.post(*groups)
> >                File "/base/data/home/apps/s~testtest/1.352363227571120815/
> > main.py", line 62, in post
> >                blob_info = upload_files[0]
> >        IndexError: list index out of range
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Google App Engine" group.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] A bug in custom domain / HR datastore app management.

2011-08-18 Thread Robert Kluin
File a production issue.





On Thu, Aug 18, 2011 at 03:03, Sergey Schetinin  wrote:
> While I was contacted by Greg off-list (thanks), the issue is still
> there, after almost two months. It exhibits itself slightly
> differently, but is still not fixed.
>
> Now not a single appengine app can be removed from the Google Apps
> account. Can please a Google employee reply and I'll provide exact
> steps to reproduce.
>
> On 1 July 2011 08:39, Sergey Schetinin  wrote:
>> The problem is still there. Can I please get a reply from a Google employee?
>>
>> On 29 June 2011 09:30, Sergey Schetinin  wrote:
>>> TLDR: There's a bug in Google Apps / App Engine that make it impossible for
>>> me to manage an existing domain alias.
>>> I have an application that uses HR datastore, the app has an alias on a
>>> custom domain. The problem is, I can't manage it. When I log into Google
>>> Apps dashboard and navigate to Settings -> Services, the app is listed on
>>> the left, but I get an error trying to access the management page for it:
>>> "We are unable to process your request at this time. Please try again later.
>>> (Error #1000)", but management pages for every other app with an alias on
>>> that domain work fine.
>>> If I start with the appengine dashboard and go Application Settings ->
>>> Domain Setup -> Add domain and enter the domain where it's aliased, I do get
>>> to the management page, but it lacks the existing alias, so I can't remove
>>> it. In the Apps dashboard, this app is now listed twice -- once with the s~
>>> prefix, and not working, and once without a prefix, but lacking the existing
>>> alias.
>>> I suppose the reason for this is that the app and the alias were created
>>> quite early after the HR datastore was made available, and the s~ hack was
>>> handled differently then and now.
>>> I suppose I need to provide Google with the App Id and the domain name, but
>>> please contact me off-list for those.
>>> Thank you.
>>> -Sergey
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Google App Engine" group.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msg/google-appengine/-/D_CllGMhIi8J.
>>> To post to this group, send email to google-appengine@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> google-appengine+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-appengine?hl=en.
>>>
>>
>>
>>
>> --
>> http://self.maluke.com/
>>
>
>
>
> --
> http://self.maluke.com/
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] A bug in custom domain / HR datastore app management.

2011-08-18 Thread Sergey Schetinin
The issue I talked about with Greg was bounced to the Apps team
anyway, as it's not appengine's fault.

Trying to file production issue resulted in "400. That’s an error.
Your client has issued a malformed or illegal request. That’s all we
know." which is not nice, let's put it that way.

In the end persistence paid off and the production issue was filed:
http://code.google.com/p/googleappengine/issues/detail?id=5617

All of this is quite sad, really. I'm not even asking for help, I'm
reporting what's broken with Google's service, why do I have to work
so hard to get it noticed?

On 18 August 2011 17:35, Robert Kluin  wrote:
> File a production issue.
>
>
>
>
>
> On Thu, Aug 18, 2011 at 03:03, Sergey Schetinin  wrote:
>> While I was contacted by Greg off-list (thanks), the issue is still
>> there, after almost two months. It exhibits itself slightly
>> differently, but is still not fixed.
>>
>> Now not a single appengine app can be removed from the Google Apps
>> account. Can please a Google employee reply and I'll provide exact
>> steps to reproduce.
>>
>> On 1 July 2011 08:39, Sergey Schetinin  wrote:
>>> The problem is still there. Can I please get a reply from a Google employee?
>>>
>>> On 29 June 2011 09:30, Sergey Schetinin  wrote:
 TLDR: There's a bug in Google Apps / App Engine that make it impossible for
 me to manage an existing domain alias.
 I have an application that uses HR datastore, the app has an alias on a
 custom domain. The problem is, I can't manage it. When I log into Google
 Apps dashboard and navigate to Settings -> Services, the app is listed on
 the left, but I get an error trying to access the management page for it:
 "We are unable to process your request at this time. Please try again 
 later.
 (Error #1000)", but management pages for every other app with an alias on
 that domain work fine.
 If I start with the appengine dashboard and go Application Settings ->
 Domain Setup -> Add domain and enter the domain where it's aliased, I do 
 get
 to the management page, but it lacks the existing alias, so I can't remove
 it. In the Apps dashboard, this app is now listed twice -- once with the s~
 prefix, and not working, and once without a prefix, but lacking the 
 existing
 alias.
 I suppose the reason for this is that the app and the alias were created
 quite early after the HR datastore was made available, and the s~ hack was
 handled differently then and now.
 I suppose I need to provide Google with the App Id and the domain name, but
 please contact me off-list for those.
 Thank you.
 -Sergey

 --
 You received this message because you are subscribed to the Google Groups
 "Google App Engine" group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/D_CllGMhIi8J.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.

>>>
>>>
>>>
>>> --
>>> http://self.maluke.com/
>>>
>>
>>
>>
>> --
>> http://self.maluke.com/
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Google App Engine" group.
>> To post to this group, send email to google-appengine@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> google-appengine+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/google-appengine?hl=en.
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>



-- 
http://self.maluke.com/

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Firefox 6 and Appspot Cookies

2011-08-18 Thread Joshua Smith
Does anyone here know what changed in how Firefox handles cookies from the 
appspot.com domain?

I can't find anything in the release notes, although I'm not positive the 
change happened in version 6 (it might have been in an earlier version that I 
skipped).

It appears that I cannot set a cookie with domain=.appspot.com

When I do that, it doesn't show up in the list of cookies.  I can set a cookie 
in a sub-domain of .appspot.com (domain=foo.appspot.com) but not on appspot.com 
itself.

I understand why they would make it work this way, since appspot.com is 
practically a TLD.  But it was handy that I could do it, because it allowed me 
to do some testing in development that I could not otherwise do.  (I can give 
details if anyone cares.)

What I was hoping is to find a way to tell firefox not to treat .appspot.com 
specially.

Anyone know if that's possible?

-Joshua

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Firefox 6 and Appspot Cookies

2011-08-18 Thread Jon McAlister
It's because appspot.com was added to the public suffix list of
domains that modern browsers should not allow cookies to be set for:
http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1

On Thu, Aug 18, 2011 at 8:53 AM, Joshua Smith  wrote:
> Does anyone here know what changed in how Firefox handles cookies from the 
> appspot.com domain?
>
> I can't find anything in the release notes, although I'm not positive the 
> change happened in version 6 (it might have been in an earlier version that I 
> skipped).
>
> It appears that I cannot set a cookie with domain=.appspot.com
>
> When I do that, it doesn't show up in the list of cookies.  I can set a 
> cookie in a sub-domain of .appspot.com (domain=foo.appspot.com) but not on 
> appspot.com itself.
>
> I understand why they would make it work this way, since appspot.com is 
> practically a TLD.  But it was handy that I could do it, because it allowed 
> me to do some testing in development that I could not otherwise do.  (I can 
> give details if anyone cares.)
>
> What I was hoping is to find a way to tell firefox not to treat .appspot.com 
> specially.
>
> Anyone know if that's possible?
>
> -Joshua
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Firefox 6 and Appspot Cookies

2011-08-18 Thread Joshua Smith
Thanks for the reference.  I'll go over to stackoverflow and see whether anyone 
there knows of a work-around to whitelist an "effective TLD"...

On Aug 18, 2011, at 11:57 AM, Jon McAlister wrote:

> It's because appspot.com was added to the public suffix list of
> domains that modern browsers should not allow cookies to be set for:
> http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1
> 
> On Thu, Aug 18, 2011 at 8:53 AM, Joshua Smith  
> wrote:
>> Does anyone here know what changed in how Firefox handles cookies from the 
>> appspot.com domain?
>> 
>> I can't find anything in the release notes, although I'm not positive the 
>> change happened in version 6 (it might have been in an earlier version that 
>> I skipped).
>> 
>> It appears that I cannot set a cookie with domain=.appspot.com
>> 
>> When I do that, it doesn't show up in the list of cookies.  I can set a 
>> cookie in a sub-domain of .appspot.com (domain=foo.appspot.com) but not on 
>> appspot.com itself.
>> 
>> I understand why they would make it work this way, since appspot.com is 
>> practically a TLD.  But it was handy that I could do it, because it allowed 
>> me to do some testing in development that I could not otherwise do.  (I can 
>> give details if anyone cares.)
>> 
>> What I was hoping is to find a way to tell firefox not to treat .appspot.com 
>> specially.
>> 
>> Anyone know if that's possible?
>> 
>> -Joshua
>> 
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Google App Engine" group.
>> To post to this group, send email to google-appengine@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> google-appengine+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/google-appengine?hl=en.
>> 
>> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Matt
Thanks for the heads up on logging.

I tried the logging but don't know if I did it right. For the first
logging part in the code, I put:
logging.info('Wrote answer, key is: %s', str(answer.key()))
and it gave me this in the browser:
AttributeError: 'Key' object has no attribute 'key'

I tried replacing key with ans but that gave the same error type.
When I just put:
logging.info('Wrote answer, key is: %s', str(answer))
the log file comes with this:
Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA

Am I doing something wrong or does this info mean anything? I honestly
don't know what to make of it or what to change to get the random
number in/out.. I feel like I am following what the docs say though.

On Aug 17, 10:19 pm, Robert Kluin  wrote:
> Hi,
>   You should check out the Python logging package, it is super handy.
> Add some logging calls to your code so you can see what is happening.
> For example:
>
>   import logging
>
>   def post(self):
>     stguess = self.request.get('guess')
>     if stguess == 'new':
>       answer = Answer(ans = (random.randint(1, 100))).put()
>       logging.info('Wrote answer, key is: %s', str(answer.key()))
>       number = Answer.all().get()
>       if number is not None:
>         logging.info('Got answer, value is: %d', number.ans)
>         answer = number.ans
>       else:
>         logging.info('Oh No! Got no answer!')
>         answer = None
>     else:
>       logging.info('Doing nothing.')
>
> Robert
>
>
>
>
>
>
>
> On Wed, Aug 17, 2011 at 17:33, Matt  wrote:
> > I am trying to pull an integer from the datastore but I keep getting
> > None back. I store the integers here-
>
> > class Answer(db.Model):
> >    ans = db.IntegerProperty()
>
> > As a test I did this -
>
> > def post(self):
>
> >        stguess = self.request.get('guess')
> >        if stguess == 'new':
> >            answer = Answer(ans = (random.randint(1, 100))).put()
> >            number = Answer.all().get()
> >            if number is not None:
> >                answer = number.ans
> >            else:
> >                answer = None
> >            msg = str(answer)
>
> > So what that does is take user input from the user and if they entered
> > 'new' follow the if path. ans equals a random integer between 1 and
> > 100. Put it in Answer. Then immediately after, pull the first integer
> > from Answer. If it is not None assign the variable answer to the
> > result, else assign it to None. msg is displayed on screen. Instead of
> > a random number which I am expecting to be displayed, None is
> > displayed instead.
>
> > I also tried using count to see how many items were actually in the
> > database and the count was more than 0.
>
> > Is there anything wrong with how I am putting or retrieving from the
> > datastore? How can I change this so I get the random number into the
> > answer variable, not None?
>
> > Thanks for any help
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Google App Engine" group.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Robert Kluin
Hey Matt,
  Yeah there was a typo in my same code, should not have been:
logging.info('Wrote answer, key is: %s', str(answer.key()))
  but rather:
logging.info('Wrote answer, key is: %s', str(answer))

  What that is telling you is that an answer entity was successfully
written.  So, now you know that the entity is getting written, what is
the next logging line?  Are you getting an entity back from the
datastore?




Robert






On Thu, Aug 18, 2011 at 12:33, Matt  wrote:
> Thanks for the heads up on logging.
>
> I tried the logging but don't know if I did it right. For the first
> logging part in the code, I put:
> logging.info('Wrote answer, key is: %s', str(answer.key()))
> and it gave me this in the browser:
> AttributeError: 'Key' object has no attribute 'key'
>
> I tried replacing key with ans but that gave the same error type.
> When I just put:
> logging.info('Wrote answer, key is: %s', str(answer))
> the log file comes with this:
> Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA
>
> Am I doing something wrong or does this info mean anything? I honestly
> don't know what to make of it or what to change to get the random
> number in/out.. I feel like I am following what the docs say though.
>
> On Aug 17, 10:19 pm, Robert Kluin  wrote:
>> Hi,
>>   You should check out the Python logging package, it is super handy.
>> Add some logging calls to your code so you can see what is happening.
>> For example:
>>
>>   import logging
>>
>>   def post(self):
>>     stguess = self.request.get('guess')
>>     if stguess == 'new':
>>       answer = Answer(ans = (random.randint(1, 100))).put()
>>       logging.info('Wrote answer, key is: %s', str(answer.key()))
>>       number = Answer.all().get()
>>       if number is not None:
>>         logging.info('Got answer, value is: %d', number.ans)
>>         answer = number.ans
>>       else:
>>         logging.info('Oh No! Got no answer!')
>>         answer = None
>>     else:
>>       logging.info('Doing nothing.')
>>
>> Robert
>>
>>
>>
>>
>>
>>
>>
>> On Wed, Aug 17, 2011 at 17:33, Matt  wrote:
>> > I am trying to pull an integer from the datastore but I keep getting
>> > None back. I store the integers here-
>>
>> > class Answer(db.Model):
>> >    ans = db.IntegerProperty()
>>
>> > As a test I did this -
>>
>> > def post(self):
>>
>> >        stguess = self.request.get('guess')
>> >        if stguess == 'new':
>> >            answer = Answer(ans = (random.randint(1, 100))).put()
>> >            number = Answer.all().get()
>> >            if number is not None:
>> >                answer = number.ans
>> >            else:
>> >                answer = None
>> >            msg = str(answer)
>>
>> > So what that does is take user input from the user and if they entered
>> > 'new' follow the if path. ans equals a random integer between 1 and
>> > 100. Put it in Answer. Then immediately after, pull the first integer
>> > from Answer. If it is not None assign the variable answer to the
>> > result, else assign it to None. msg is displayed on screen. Instead of
>> > a random number which I am expecting to be displayed, None is
>> > displayed instead.
>>
>> > I also tried using count to see how many items were actually in the
>> > database and the count was more than 0.
>>
>> > Is there anything wrong with how I am putting or retrieving from the
>> > datastore? How can I change this so I get the random number into the
>> > answer variable, not None?
>>
>> > Thanks for any help
>>
>> > --
>> > You received this message because you are subscribed to the Google Groups 
>> > "Google App Engine" group.
>> > To post to this group, send email to google-appengine@googlegroups.com.
>> > To unsubscribe from this group, send email to 
>> > google-appengine+unsubscr...@googlegroups.com.
>> > For more options, visit this group 
>> > athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Bulkloader Problem

2011-08-18 Thread Richard Arrano
Hello,
I'm attempting to upload some data in CSV format to the App Engine
servers. I filled out the first row specifying the property names,
including key. However, no matter what I do, including
import_transform: transform.create_foreign_key('UserAccount',
key_is_id=False), but it always has the same problem where the key id
is not the name I specify in the CSV data, rather an automatically
generated one. Oddly, they always seem to be ids around 38000 even
after several deletes and reuploads. Nonetheless, they are never the
names I give them. Any ideas on how to fix this?

Thanks,
Richard

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Channel API Sockets - Uni-Directional or Bi-Directional?

2011-08-18 Thread eeejay
Question 1:  Is this the correct forum to ask question about Channel API 
(which I am intending to use in conjunction with Google App Engine).

Question 2: In the documentation for the Channel API it says:  "The 
JavaScript client opens a socket using the token provided by the server. It 
uses the socket to listen for updates on the channel."  However 
communication from the client to the server seems to be in the form of a 
POST.

Are Channel API sockets truly uni-directional server-to-client?  Or is there 
a way for the client to communicate back via web socket?


-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/ulHR1fPZVG0J.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] 1.5.3 is out!

2011-08-18 Thread Srirangan
Upgraded. Thanks for all the cool work!

- Sri

On Wed, Aug 17, 2011 at 11:41 PM, Deepak Singh wrote:

> Hi Johan,
>
> Thanks. Nice release.
>
> Does this version support the following things:
>
> 1) JIBX databinding
> 2) JAXWS web service client / server
> 3) EHCache
> 4) Spring core
> 5) Java mail
> 6) XMLBEANS
>
> Thanks
> Deepak
>
>
> On Wed, Aug 17, 2011 at 10:57 PM, Johan Euphrosine wrote:
>
>> We just announced App Engine 1.5.3 SDK release on the official blog:
>>
>> http://googleappengine.blogspot.com/2011/08/app-engine-153-sdk-released.html
>>
>> You can download it from here:
>> http://code.google.com/p/googleappengine/downloads/list
>>
>> See the Release Notes below, Happy Hacking!
>>
>> App Engine SDK - Release Notes
>>
>> Version 1.5.3 - Aug 17, 2011
>>
>> Python
>> ==
>>
>> We've removed the limit on the size of blob uploads using the Blobstore
>> API.
>> You can now send emails with any attachment extension that is not
>> included on the email attachment extension blacklist.
>> Added a db.get_indexes() method to retrieve an application's indexes
>> and their corresponding states.
>> The dev_appserver has been updated to understand the reduced index
>> requirements of the 1.5.2 datastore query planner changes.
>> The Datastore Admin functionality can now be enabled directly in the
>> Admin Console.
>> Added cas(), the compare-and-set function, to the Memcache API.
>> http://code.google.com/p/googleappengine/issues/detail?id=2139
>> Added a set_default_fetch_deadline to the URLFetch API which sets the
>> URLFetch deadline globally.
>> Added app_identity api with methods to get the application id, default
>> hostname, and service accounts for asserting identity on outbound HTTP
>> calls.
>> http://code.google.com/appengine/docs/python/appidentity/overview.html
>> Added an improved HRD migration tool that requires a read-only period
>> relative to your datastore write rate (as opposed to your datastore
>> size, which is how the current version behaves). The tool is not yet
>> generally available. If you are interested in being an early adopter
>> please fill out this form:
>> http://goo.gl/3jrXu
>> Fixed an issue in the Channel API where jsapi was not served with the
>> correct mime type.
>> Fixed an issue that broke use_library when the Python SDK was located
>> in a directory that contained the word 'django'.
>> Fixed an issue where blobs could not be uploaded using HTTPS.
>> Fixed an issue where GQL didn't allow querying for valid kind names
>> containing '.', '-', and ':' by supporting quoted identifiers.
>> http://code.google.com/p/googleappengine/issues/detail?id=2584
>>
>> Java
>> 
>>
>> We've removed the limit on the size of blob uploads using the Blobstore
>> API.
>> You can now send emails with any attachment extension that is not
>> included on the email attachment extension blacklist.
>> Added a getIndexes() method to the DatastoreService? to retrieve an
>> application's indexes and their corresponding states.
>> The development server has been updated to understand the reduced
>> index requirements of the 1.5.2 datastore query planner changes.
>> The Datastore Admin functionality can now be enabled directly in the
>> Admin Console.
>> You can now use Remote API to access the services of one App Engine
>> application from a different App Engine application.
>> The Java Testing APIs now default to UTC if no timezone is specified.
>> AppCfg? now supports download_app, which will download all files that
>> were uploaded from your war directory.
>> AppCfg? now supports the -V (version) and -A (application) flags.
>> Added app_identity api with methods to work with service accounts for
>> asserting identity on outbound HTTP calls.
>> http://code.google.com/appengine/docs/java/appidentity/overview.html
>> Added an improved HRD migration tool that requires a read-only period
>> relative to your datastore write rate (as opposed to your datastore
>> size, which is how the current version behaves). The tool is not yet
>> generally available. If you are interested in being an early adopter
>> please fill out this form:
>> http://goo.gl/3jrXu
>> Fixed an issue in the Channel API where jsapi was not served with the
>> correct mime type.
>> Fixed an issue where blobs could not be uploaded using HTTPS.
>> Fixed an issue where GQL didn't allow querying for valid kind names
>> containing '.', '-', and ':' by supporting quoted identifiers.
>> http://code.google.com/p/googleappengine/issues/detail?id=2584
>>
>> Go
>> ===
>>
>> appengine:
>>  - Add app identity functions: AppID, VersionID, DefaultVersionHostname.
>> appengine/datastore:
>>  - Fix construction of incomplete keys with parents.
>> appengine/delay:
>>  - Check argument types at Call time.
>>  - Retry delayed functions if they return a non-nil os.Error.
>> Other:
>>  - Report package dependency cycles in go-app-builder.
>> --
>> Johan Euphrosine (proppy)
>> Developer Programs Engineer
>> Google Developer Relations
>>
>> --
>> You rec

[google-appengine] App Engine using jQuery Mobile setup for Manifest

2011-08-18 Thread Trevor
I have a web app  and now created a jQuery Mobile app to offer the same and 
it works

I want to make the jQuery Mobile app "manifest" ie work offline but it will 
not work

1) I have added the line to the html template
 

2) have down loaded the jquery files and place them and the images in a 
folder

3) I created the manifest file offline.manifest

4) I have added the lines to my app.yaml  file

- url: /mobile/(.*\.manifest)
  static_files: mobile/\1
  mime_type: text/cache-manifest
  upload: mobile/(.*\.manifest)

  
But when I try the Android 2.2 browser in Aeroplane mode it says it needs to 
be online

Anyone have success with this and if so how?


 

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/F_spHAp3IqEJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Using GAE as a pipe

2011-08-18 Thread Mikael Grev
Hello,

Is it possible in a fairly easy way to use GAE as a pipe, basically
transporting custom binary data between two computers via a Google
server?

And if so (which I really expect to be possible) how will it perform?
I mean approximately which throughput will I get. And is there a way,
hopefully automatically, to make it use the closest server to pipe
through?

I ask because I was thinking about using GAE as a proxy server for VNC
when there's two computers between firewalls that wants to talk to
each other.

Cheers,
Mikael

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Remote API + File API

2011-08-18 Thread André Salvati
Hi,

Maybe I've misunderstood docs, but I thought it was possible an
external application to integrate with App Engine by creating a file
in Blobstore. Am I doing something wrong?? Any way to accomplish
this??

http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore

Thanks.

Code:

public class RemoteAPI {

public static void main(String[] args) throws IOException {

String username = "x...@gmail.com";
String password = "x";


RemoteApiOptions options = new RemoteApiOptions()
.server("primepartes.appspot.com", 443)
.credentials(username, password);
RemoteApiInstaller installer = new RemoteApiInstaller();
installer.install(options);

FileService fileService = FileServiceFactory.getFileService();
BlobstoreService blobstoreService =
BlobstoreServiceFactory.getBlobstoreService();

AppEngineFile file = fileService.createNewBlobFile("text/
plain");

FileWriteChannel writeChannel =
fileService.openWriteChannel(file, true);

PrintWriter out = new
PrintWriter(Channels.newWriter(writeChannel, "UTF8"));
out.println("The woods are lovely dark and deep.");
out.println("But I have promises to keep.");

out.close();
writeChannel.closeFinally(); // This line throwns the excepion
bellow

..

java.lang.IllegalStateException: The current request does not hold the
exclusive lock.
at
com.google.appengine.api.files.FileServiceImpl.close(FileServiceImpl.java:
315)
at
com.google.appengine.api.files.FileWriteChannelImpl.closeFinally(FileWriteChannelImpl.java:
78)
at br.com.teste.RemoteAPI.main(RemoteAPI.java:82)

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Datastore admin still broken with "too many redirects"

2011-08-18 Thread Jan Zawadzki / Hapara
Any ETA on getting this fixed?

Breaks on every one of our apps redirecting through
https://appengine.google.com/_ah/conflogin.

Does not seem to be browser related (Chrome, FF, Safari)

It's a bit of a pain managing mapreduce manually, would love to have
access to this functionality!

Jan

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] SDK 1.5.3 - deployment fails with the message "Found interface com.google.appengine.tools.admin.Application, but class was expected."

2011-08-18 Thread MindRaider
I have a problem with the deployment of my application with SDK 1.5.3.
It compiles without any problems, but it fails just before the
deployment with message:

  Found interface com.google.appengine.tools.admin.Application, but
class was expected

OS: Win7 64b; Eclipse Helios; GAE SDK 1.5.3; application 
http://web.mindforger.com

After downgrade everything works perfectly.

Any suggestions?

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Fred Sauer


On Wednesday, August 17, 2011 5:24:48 AM UTC-7, Joshua Smith wrote:
>
> I certainly hope they don't deprecate M/S, unless/until the following 
> issues are addressed:
>
> 1) Ability to migrate without changing app ID.  This is fundamental, and 
> we've never seen any *reason* why this is impossible.  I suspect that this 
> is very hard, but not impossible.
>
We are able to create an alias for migrated apps, so that traffic sent to 
oldappid.appspot.com will be transparently routed to your new application. 
So while you won't be able to keep the same app id, you can keep using the 
same appspot.com domain, which is probably what you care about most.

 

>  Changing the app ID causes problems because: 
>
- External references to entity keys (not IDs) are pervasive in many apps 
> (such as google search links to deep pages, user bookmarks, or RSS feed 
> URLs) because the documentation encourages the use of these keys in URLs
>
This remains an issues, but can be easily addressed in a couple of lines of 
application code in the appropriate request handlers. The string encoded 
keys that are referenced externally have encoded within them the old app id. 
If you take the decoded key and extract the parent, kind and id/name to 
create a new key (again, this is 1-2 lines of code), then your app can use 
that new key to locate the migrated entity within the new datastore.

As far as reference (list) properties: those reference keys are 
automatically updated as part of the the datastore migration and should not 
cause you any issues.


 

> - Many users have keys wrapped up in properties that the migration tool 
> cannot recognize [this doesn't impact my app, but it's a common issue on 
> this list]
>
This does affect some apps. As I mentioned above, a couple of lines of code 
in the right place should take care of this.

 

> As an alternative, the infrastructure could be fixed to recognize the case 
> of using the old app ID instead of the new app ID in a key, and quietly make 
> the substitution.
>
That's a neat idea.

 

> 2) Migration of large data sets takes an extremely long time.  Given that 
> we regularly see M/S downtimes in the couple of hours range, a couple of 
> hours is probably a reasonable amount of time to migrate.  A couple of days 
> is much too much.  [Note that I have not personally gotten far enough into a 
> migration to see this duration; I'm basing this on many user complaints I've 
> read on this list.]
>
Applications with small amounts of data can easily self migrate in a short 
period of time using datastore_admin. Applications with more data will 
benefit from the new migration tool Ikai mentioned. We created the tool 
specifically to simplify and speed up the migration for larger apps, and to 
reduce the read-only period required to make the final switch.

 

> 3) The problem of transactional consistency needs to be addressed.  It is 
> not acceptable for transactions to end in a "maybe this worked, maybe it 
> didn't" state.  They should either succeed or fail.  (Although the docs not 
> not say whether this problem is exclusive to HR, it seems to be, and 
> certainly it matters much more in HR since every put is implicitly 
> transactional.)
>
There are subtle differences between the consistency guarantees offered by 
M/S and HRD. In some cases, apps need to make a few tweaks in order to work 
correctly in the new environment. The benefit is much more 
predictable/consistency latency and increased reliability. A good article 
which reviews the consistency guarantees can be found here:
  http://code.google.com/appengine/articles/transaction_isolation.html


4) As Ikai said, there are some unresolved issues in HR that need to be 
> fixed, such as the current mystery in the 'Serious Problem: Rollback of data 
> on HRD' thread (which is eerily familiar: I think somebody else reported a 
> similar issue a while back).
>

I haven't looked at that thread yet, but I suspect that reviewing the above 
article 
(http://code.google.com/appengine/articles/transaction_isolation.html) would 
probably be beneficial in the context of that thread.


Even if all these are addressed, it would certainly be nice if M/S remained 
> an option.  It makes different trade-offs than HR, which may be better 
> trade-offs for some applications.  I will be very disappointed if they 
> decide to make HR a requirement for multi-threading Python, since the two 
> are completely orthogonal choices.  From my reading, M/S seems to have 
> better throughput than HR, at the expense of more frequent downtime, and 
> spurious datastore timeouts.  I'd like to have that option in a 
> multi-threaded app.
>

Thanks for the input. I hope the above response addresses some of your 
concerns.

 

> -Joshua
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/sLkBsAfFc84J.
To pos

[google-appengine] static-error-handlers

2011-08-18 Thread Berfunkle
I defined static-error-handlers (add element to appengine-web.xml file
and added static html page) and it seemed to work fine but now I want
to remove them. I tried removing it from the appengine-web.xml file
and also removed the actual static html file but I am still getting
the static page instead of the error page generated by App Engine. I
deleted other versions of application but that did not help.

Any thoughts would be appreciated.

Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Enabling billing on appengine

2011-08-18 Thread fedex1
Hi

I tried to enable billing on appspot id: race-timing

And I see this error:  And now appengine shows that billing will be enabled 
and billing changes cannot be made for 30 minutes, even though I don't see a 
google checkout order?  Can someone help or let me know that it will clear 
itself.  Thanks, Ralph


  Browse stores »
Error
Purchase History  >  Error
Help
  
Oops!
An error occurred while processing your request. 

To fix this issue: 
Try our quick troubleshooting tips -- users report these resolve most 
issues.

Back to My Account


Time when the error happened: 2011-08-18T18:20:25 (UTC) (4aacbb1d8)




https://checkout.google.com/view/buy?o=shoppingcart&shoppingcart=974369501494940&pli=1

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/Y9DD8h5IpuoJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Using GAE as a pipe

2011-08-18 Thread Barry Hunter
No GAE wont really do this.

GAE basically speaks HTTP - and over a CGI model. I.e. requests/responses.

So a http requests comes in, a GAE script processes, it sends back
some data (usually HTML but doesnt have to be) and then when the front
end server gets the responce it forwards it back to the user.

Probably a cheap VPS hosting somewhere will be best.



On Thu, Aug 18, 2011 at 2:56 PM, Mikael Grev  wrote:
> Hello,
>
> Is it possible in a fairly easy way to use GAE as a pipe, basically
> transporting custom binary data between two computers via a Google
> server?
>
> And if so (which I really expect to be possible) how will it perform?
> I mean approximately which throughput will I get. And is there a way,
> hopefully automatically, to make it use the closest server to pipe
> through?
>
> I ask because I was thinking about using GAE as a proxy server for VNC
> when there's two computers between firewalls that wants to talk to
> each other.
>
> Cheers,
> Mikael
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Joshua Smith

On Aug 18, 2011, at 2:10 PM, Fred Sauer wrote:
> On Wednesday, August 17, 2011 5:24:48 AM UTC-7, Joshua Smith wrote:
> I certainly hope they don't deprecate M/S, unless/until the following issues 
> are addressed:
> 1) Ability to migrate without changing app ID.  This is fundamental, and 
> we've never seen any *reason* why this is impossible.  I suspect that this is 
> very hard, but not impossible.
> 
> We are able to create an alias for migrated apps, so that traffic sent to 
> oldappid.appspot.com will be transparently routed to your new application. So 
> while you won't be able to keep the same app id, you can keep using the same 
> appspot.com domain, which is probably what you care about most.

Perhaps that what some people care about most, but not me.  What I care about 
is what I spelled out in the next two bullet points :)
> 
>  Changing the app ID causes problems because: 
> 
> - External references to entity keys (not IDs) are pervasive in many apps 
> (such as google search links to deep pages, user bookmarks, or RSS feed URLs) 
> because the documentation encourages the use of these keys in URLs
> 
> This remains an issues, but can be easily addressed in a couple of lines of 
> application code in the appropriate request handlers. The string encoded keys 
> that are referenced externally have encoded within them the old app id. If 
> you take the decoded key and extract the parent, kind and id/name to create a 
> new key (again, this is 1-2 lines of code), then your app can use that new 
> key to locate the migrated entity within the new datastore.
> 
> As far as reference (list) properties: those reference keys are automatically 
> updated as part of the the datastore migration and should not cause you any 
> issues.
> 
> - Many users have keys wrapped up in properties that the migration tool 
> cannot recognize [this doesn't impact my app, but it's a common issue on this 
> list]
> 
> This does affect some apps. As I mentioned above, a couple of lines of code 
> in the right place should take care of this.

1-2 lines of code, in dozens of handlers is the crux of the problem.  Dealing 
with this at the application layer is problematic because there are so many 
code paths that need to be examined.

> As an alternative, the infrastructure could be fixed to recognize the case of 
> using the old app ID instead of the new app ID in a key, and quietly make the 
> substitution.
> 
> That's a neat idea.

Neat enough that you guys might implement it?

I've suggested this before, but I'm glad that I've got your attention this time!

This would be a pretty huge step toward making the migration practical for me.

> 
> 2) Migration of large data sets takes an extremely long time.  Given that we 
> regularly see M/S downtimes in the couple of hours range, a couple of hours 
> is probably a reasonable amount of time to migrate.  A couple of days is much 
> too much.  [Note that I have not personally gotten far enough into a 
> migration to see this duration; I'm basing this on many user complaints I've 
> read on this list.]
> 
> Applications with small amounts of data can easily self migrate in a short 
> period of time using datastore_admin. Applications with more data will 
> benefit from the new migration tool Ikai mentioned. We created the tool 
> specifically to simplify and speed up the migration for larger apps, and to 
> reduce the read-only period required to make the final switch.

Yes, I saw that in his note, and if it works as advertised, I suspect it will 
resolve this issue.

> 
> 3) The problem of transactional consistency needs to be addressed.  It is not 
> acceptable for transactions to end in a "maybe this worked, maybe it didn't" 
> state.  They should either succeed or fail.  (Although the docs not not say 
> whether this problem is exclusive to HR, it seems to be, and certainly it 
> matters much more in HR since every put is implicitly transactional.)
> 
> There are subtle differences between the consistency guarantees offered by 
> M/S and HRD. In some cases, apps need to make a few tweaks in order to work 
> correctly in the new environment. The benefit is much more 
> predictable/consistency latency and increased reliability. A good article 
> which reviews the consistency guarantees can be found here:
>   http://code.google.com/appengine/articles/transaction_isolation.html
> 

I'm not talking about consistency guarantees.  I get that things change under 
HR, and it's pretty easy to understand what the implications of that are.

What I'm talking about is the problem where you have to write idempotent 
transactions because you can never tell whether a transaction that threw 
certain exceptions succeeded or failed.  That's really messed up, and you 
really need to fix that.

But, to be fair, I'm not sure this problem will cause me actual problems if I 
switch to HR.  It just makes me really, really uncomfortable.

> 
> 4) As Ikai said, there are some unresolved issues in HR tha

Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread thstart
Let me share my experience. 

I was developing an AppEngine app for a year.
It was very fast (extremely fast), with latency > 1 sec.
When High Replication data-store was released I decided to give it
a try and switched to it. Unfortunately the latency got >1 Sec 
sometimes > 2 Sec. The app worked a wile that way and because 
still in beta I could experiment. So I decided to go to Billed option
to see if the reliability and more importantly the latency could improve.
Unfortunately this do not affected latency. Then I decided to go back to 
Master/Slave - our customers mentioned immediately our app is 2 times 
faster - again < 1 Sec latency. Then I needed to add https which is 
very important for our app. This do not added significant latency so our
customers are very happy with this solution. Soon we will go public.

So the latency issue is a show stopper for high replication version 
and we would want to stay with master slave. 

Anybody with similar experience?

Thank you,




-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/P1c_gMSRtl0J.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Robert Kluin
When switching to the HR datastore, you might need to make some
adjustments.  For instance, fetching a large list of keys from
multiple entity groups may be slower due to the transaction overhead.
So you might need to evaluate your use of entity groups.  It may also
be that you've got a design that is making many datastore RPCs in
serial, that will probably be more of an issue when on HR since there
is a slightly higher average latency.


Robert





On Thu, Aug 18, 2011 at 15:11, thstart  wrote:
> Let me share my experience.
> I was developing an AppEngine app for a year.
> It was very fast (extremely fast), with latency > 1 sec.
> When High Replication data-store was released I decided to give it
> a try and switched to it. Unfortunately the latency got >1 Sec
> sometimes > 2 Sec. The app worked a wile that way and because
> still in beta I could experiment. So I decided to go to Billed option
> to see if the reliability and more importantly the latency could improve.
> Unfortunately this do not affected latency. Then I decided to go back to
> Master/Slave - our customers mentioned immediately our app is 2 times
> faster - again < 1 Sec latency. Then I needed to add https which is
> very important for our app. This do not added significant latency so our
> customers are very happy with this solution. Soon we will go public.
> So the latency issue is a show stopper for high replication version
> and we would want to stay with master slave.
> Anybody with similar experience?
> Thank you,
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/P1c_gMSRtl0J.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Fred Sauer
That's accurate. Performing a batch get to get a N entities from different
entity groups is slower or HRD. As N increases the issue is more pronounced.
This is because the datastore needs to fetch a consistent copy for each
entity.

Placing these entities into a single entity group can help greatly. Fetching
fewer entities initially, so that the UI updates quickly, and then fetching
more as needed, is always a good idea.

A great tool to help understand your use of the datastore is Appstats, which
can be easily enabled and provides negligible overhead to most sites. (If
you have a high traffic site, or don't want to enable Appstats in production
for other reasons, you can easily deploy a non-default version of your app
with Appstats enabled). Appstats will provide you a graphical overview of
the datastore (and other RPC) calls you are making.

On Thu, Aug 18, 2011 at 12:19 PM, Robert Kluin wrote:

> When switching to the HR datastore, you might need to make some
> adjustments.  For instance, fetching a large list of keys from
> multiple entity groups may be slower due to the transaction overhead.
> So you might need to evaluate your use of entity groups.  It may also
> be that you've got a design that is making many datastore RPCs in
> serial, that will probably be more of an issue when on HR since there
> is a slightly higher average latency.
>
>
> Robert
>
>
>
>
>
> On Thu, Aug 18, 2011 at 15:11, thstart  wrote:
> > Let me share my experience.
> > I was developing an AppEngine app for a year.
> > It was very fast (extremely fast), with latency > 1 sec.
> > When High Replication data-store was released I decided to give it
> > a try and switched to it. Unfortunately the latency got >1 Sec
> > sometimes > 2 Sec. The app worked a wile that way and because
> > still in beta I could experiment. So I decided to go to Billed option
> > to see if the reliability and more importantly the latency could improve.
> > Unfortunately this do not affected latency. Then I decided to go back to
> > Master/Slave - our customers mentioned immediately our app is 2 times
> > faster - again < 1 Sec latency. Then I needed to add https which is
> > very important for our app. This do not added significant latency so our
> > customers are very happy with this solution. Soon we will go public.
> > So the latency issue is a show stopper for high replication version
> > and we would want to stay with master slave.
> > Anybody with similar experience?
> > Thank you,
> >
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msg/google-appengine/-/P1c_gMSRtl0J.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> > http://groups.google.com/group/google-appengine?hl=en.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>


-- 
Fred Sauer
Developer Advocate
Google Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043
fre...@google.com

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Fred Sauer
I recommend looking at Appstats, and verifying whether you are performing
batch gets across entity groups. I have not met an app yet that is unable to
get acceptable HRD performance.

I should note that apps built on M/S have (usually unintentionally) been
optimized for the M/S performance characteristics. It makes sense that some
apps may need to or want to make adjustments before migrating to HRD.

I should also point out that I have yet to meet a developer whose not
happier on HRD and migrating their app. You may well be the first (although
I'm not trying to imply that you are the only one)... :)

On Thu, Aug 18, 2011 at 12:11 PM, thstart  wrote:

> Let me share my experience.
>
> I was developing an AppEngine app for a year.
> It was very fast (extremely fast), with latency > 1 sec.
> When High Replication data-store was released I decided to give it
> a try and switched to it. Unfortunately the latency got >1 Sec
> sometimes > 2 Sec. The app worked a wile that way and because
> still in beta I could experiment. So I decided to go to Billed option
> to see if the reliability and more importantly the latency could improve.
> Unfortunately this do not affected latency. Then I decided to go back to
> Master/Slave - our customers mentioned immediately our app is 2 times
> faster - again < 1 Sec latency. Then I needed to add https which is
> very important for our app. This do not added significant latency so our
> customers are very happy with this solution. Soon we will go public.
>
> So the latency issue is a show stopper for high replication version
> and we would want to stay with master slave.
>
> Anybody with similar experience?
>
> Thank you,
>
>
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/P1c_gMSRtl0J.
>
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>



-- 
Fred Sauer
Developer Advocate
Google Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043
fre...@google.com

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Fred Sauer
On Thu, Aug 18, 2011 at 11:48 AM, Joshua Smith wrote:

>
> On Aug 18, 2011, at 2:10 PM, Fred Sauer wrote:
>
> On Wednesday, August 17, 2011 5:24:48 AM UTC-7, Joshua Smith wrote:
>>
>> I certainly hope they don't deprecate M/S, unless/until the following
>> issues are addressed:
>>
>> 1) Ability to migrate without changing app ID.  This is fundamental, and
>> we've never seen any *reason* why this is impossible.  I suspect that this
>> is very hard, but not impossible.
>>
> We are able to create an alias for migrated apps, so that traffic sent to
> oldappid.appspot.com will be transparently routed to your new application.
> So while you won't be able to keep the same app id, you can keep using the
> same appspot.com domain, which is probably what you care about most.
>
>
> Perhaps that what some people care about most, but not me.  What I care
> about is what I spelled out in the next two bullet points :)
>
>
>>  Changing the app ID causes problems because:
>>
> - External references to entity keys (not IDs) are pervasive in many apps
>> (such as google search links to deep pages, user bookmarks, or RSS feed
>> URLs) because the documentation encourages the use of these keys in URLs
>>
> This remains an issues, but can be easily addressed in a couple of lines of
> application code in the appropriate request handlers. The string encoded
> keys that are referenced externally have encoded within them the old app id.
> If you take the decoded key and extract the parent, kind and id/name to
> create a new key (again, this is 1-2 lines of code), then your app can use
> that new key to locate the migrated entity within the new datastore.
>
> As far as reference (list) properties: those reference keys are
> automatically updated as part of the the datastore migration and should not
> cause you any issues.
>
> - Many users have keys wrapped up in properties that the migration tool
>> cannot recognize [this doesn't impact my app, but it's a common issue on
>> this list]
>>
> This does affect some apps. As I mentioned above, a couple of lines of code
> in the right place should take care of this.
>
>
> 1-2 lines of code, in dozens of handlers is the crux of the problem.
>  Dealing with this at the application layer is problematic because there are
> so many code paths that need to be examined.
>

>
> As an alternative, the infrastructure could be fixed to recognize the case
>> of using the old app ID instead of the new app ID in a key, and quietly make
>> the substitution.
>>
> That's a neat idea.
>
>
> Neat enough that you guys might implement it?
>
> I've suggested this before, but I'm glad that I've got your attention this
> time!
>

I'll certainly bring up with the team.



>
> This would be a pretty huge step toward making the migration practical for
> me.
>
>
>> 2) Migration of large data sets takes an extremely long time.  Given that
>> we regularly see M/S downtimes in the couple of hours range, a couple of
>> hours is probably a reasonable amount of time to migrate.  A couple of days
>> is much too much.  [Note that I have not personally gotten far enough into a
>> migration to see this duration; I'm basing this on many user complaints I've
>> read on this list.]
>>
> Applications with small amounts of data can easily self migrate in a short
> period of time using datastore_admin. Applications with more data will
> benefit from the new migration tool Ikai mentioned. We created the tool
> specifically to simplify and speed up the migration for larger apps, and to
> reduce the read-only period required to make the final switch.
>
>
> Yes, I saw that in his note, and if it works as advertised, I suspect it
> will resolve this issue.
>
>
>> 3) The problem of transactional consistency needs to be addressed.  It is
>> not acceptable for transactions to end in a "maybe this worked, maybe it
>> didn't" state.  They should either succeed or fail.  (Although the docs not
>> not say whether this problem is exclusive to HR, it seems to be, and
>> certainly it matters much more in HR since every put is implicitly
>> transactional.)
>>
> There are subtle differences between the consistency guarantees offered by
> M/S and HRD. In some cases, apps need to make a few tweaks in order to work
> correctly in the new environment. The benefit is much more
> predictable/consistency latency and increased reliability. A good article
> which reviews the consistency guarantees can be found here:
>   http://code.google.com/appengine/articles/transaction_isolation.html
>
>
> I'm not talking about consistency guarantees.  I get that things change
> under HR, and it's pretty easy to understand what the implications of that
> are.
>
> What I'm talking about is the problem where you have to write idempotent
> transactions because you can never tell whether a transaction that threw
> certain exceptions succeeded or failed.  That's really messed up, and you
> really need to fix that.
>
> But, to be fair, I'm not sure this problem will cause me

Re: [google-appengine] SDK 1.5.3 - deployment fails with the message "Found interface com.google.appengine.tools.admin.Application, but class was expected."

2011-08-18 Thread Ikai Lan (Google)
Yep, we're on it:

http://code.google.com/p/googleappengine/issues/detail?id=5612

We might end up releasing a new SDK for this.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Wed, Aug 17, 2011 at 3:28 PM, MindRaider  wrote:

> I have a problem with the deployment of my application with SDK 1.5.3.
> It compiles without any problems, but it fails just before the
> deployment with message:
>
>  Found interface com.google.appengine.tools.admin.Application, but
> class was expected
>
> OS: Win7 64b; Eclipse Helios; GAE SDK 1.5.3; application
> http://web.mindforger.com
>
> After downgrade everything works perfectly.
>
> Any suggestions?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Problem fetching db.ListProperty data

2011-08-18 Thread Simon
Thank you both for your replys. They were both very helpful to me.

I sorterd out the querying problem and I now use the following instead of 
having one ListProperty in User and one in Topic

class UserInTopic(db.Model):
user = db.ReferenceProperty(PMWUser, required=True, 
collection_name='topics')
topic = db.ReferenceProperty(Topic, required=True, collection_name='users') 

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/WREGBC4BpMYJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Matt
It doesn't look like it. This is the log

INFO 2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is
agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA
Traceback (most recent call last):
  File "C:\Python25\lib\logging\__init__.py", line 744, in emit
msg = self.format(record)
  File "C:\Python25\lib\logging\__init__.py", line 630, in format
return fmt.format(record)
  File "C:\Python25\lib\logging\__init__.py", line 418, in format
record.message = record.getMessage()
  File "C:\Python25\lib\logging\__init__.py", line 288, in getMessage
msg = msg % self.args
TypeError: int argument required
INFO 2011-08-18 20:08:48,299 dev_appserver.py:4247] "POST / HTTP/
1.1" 200 -
INFO 2011-08-18 20:08:48,456 dev_appserver.py:4247] "GET /
numguess.css HTTP/1.1" 200 -


If that means anything I see a TypeError... maybe that's what is
stopping the random number entity to be pulled back out?

Thanks again for the help.

On Aug 18, 11:07 am, Robert Kluin  wrote:
> Hey Matt,
>   Yeah there was a typo in my same code, should not have been:
>     logging.info('Wrote answer, key is: %s', str(answer.key()))
>   but rather:
>     logging.info('Wrote answer, key is: %s', str(answer))
>
>   What that is telling you is that an answer entity was successfully
> written.  So, now you know that the entity is getting written, what is
> the next logging line?  Are you getting an entity back from the
> datastore?
>
> Robert
>
>
>
>
>
>
>
> On Thu, Aug 18, 2011 at 12:33, Matt  wrote:
> > Thanks for the heads up on logging.
>
> > I tried the logging but don't know if I did it right. For the first
> > logging part in the code, I put:
> > logging.info('Wrote answer, key is: %s', str(answer.key()))
> > and it gave me this in the browser:
> > AttributeError: 'Key' object has no attribute 'key'
>
> > I tried replacing key with ans but that gave the same error type.
> > When I just put:
> > logging.info('Wrote answer, key is: %s', str(answer))
> > the log file comes with this:
> > Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA
>
> > Am I doing something wrong or does this info mean anything? I honestly
> > don't know what to make of it or what to change to get the random
> > number in/out.. I feel like I am following what the docs say though.
>
> > On Aug 17, 10:19 pm, Robert Kluin  wrote:
> >> Hi,
> >>   You should check out the Python logging package, it is super handy.
> >> Add some logging calls to your code so you can see what is happening.
> >> For example:
>
> >>   import logging
>
> >>   def post(self):
> >>     stguess = self.request.get('guess')
> >>     if stguess == 'new':
> >>       answer = Answer(ans = (random.randint(1, 100))).put()
> >>       logging.info('Wrote answer, key is: %s', str(answer.key()))
> >>       number = Answer.all().get()
> >>       if number is not None:
> >>         logging.info('Got answer, value is: %d', number.ans)
> >>         answer = number.ans
> >>       else:
> >>         logging.info('Oh No! Got no answer!')
> >>         answer = None
> >>     else:
> >>       logging.info('Doing nothing.')
>
> >> Robert
>
> >> On Wed, Aug 17, 2011 at 17:33, Matt  wrote:
> >> > I am trying to pull an integer from the datastore but I keep getting
> >> > None back. I store the integers here-
>
> >> > class Answer(db.Model):
> >> >    ans = db.IntegerProperty()
>
> >> > As a test I did this -
>
> >> > def post(self):
>
> >> >        stguess = self.request.get('guess')
> >> >        if stguess == 'new':
> >> >            answer = Answer(ans = (random.randint(1, 100))).put()
> >> >            number = Answer.all().get()
> >> >            if number is not None:
> >> >                answer = number.ans
> >> >            else:
> >> >                answer = None
> >> >            msg = str(answer)
>
> >> > So what that does is take user input from the user and if they entered
> >> > 'new' follow the if path. ans equals a random integer between 1 and
> >> > 100. Put it in Answer. Then immediately after, pull the first integer
> >> > from Answer. If it is not None assign the variable answer to the
> >> > result, else assign it to None. msg is displayed on screen. Instead of
> >> > a random number which I am expecting to be displayed, None is
> >> > displayed instead.
>
> >> > I also tried using count to see how many items were actually in the
> >> > database and the count was more than 0.
>
> >> > Is there anything wrong with how I am putting or retrieving from the
> >> > datastore? How can I change this so I get the random number into the
> >> > answer variable, not None?
>
> >> > Thanks for any help
>
> >> > --
> >> > You received this message because you are subscribed to the Google 
> >> > Groups "Google App Engine" group.
> >> > To post to this group, send email to google-appengine@googlegroups.com.
> >> > To unsubscribe from this group, send email to 
> >> > google-appengine+unsubscr...@googlegroups.com.
> >> > For more options, visit this group 
> >> > athttp://groups.google.com/group/googl

[google-appengine] Re: Remote API + File API

2011-08-18 Thread Wen (Google)
I read the doc. you pointed out as such:  when "out.close()" was
called, the "writeChannel" was not closed; when "readChannel.close()"
was called, the "reader" itself was not closed.  So, looks like you
only need to do one or the other.  It may have to do with how closing
is implemented on the channels.

So remove "out.close()", and see if the exception would go away.


Wen


On Aug 18, 7:05 am, André Salvati  wrote:
> Hi,
>
> Maybe I've misunderstood docs, but I thought it was possible an
> external application to integrate with App Engine by creating a file
> in Blobstore. Am I doing something wrong?? Any way to accomplish
> this??
>
> http://code.google.com/appengine/docs/java/blobstore/overview.html#Wr...
>
> Thanks.
>
> Code:
>
> public class RemoteAPI {
>
>     public static void main(String[] args) throws IOException {
>
>         String username = "x...@gmail.com";
>         String password = "x";
>
>         RemoteApiOptions options = new RemoteApiOptions()
>                 .server("primepartes.appspot.com", 443)
>             .credentials(username, password);
>         RemoteApiInstaller installer = new RemoteApiInstaller();
>         installer.install(options);
>
>         FileService fileService = FileServiceFactory.getFileService();
>         BlobstoreService blobstoreService =
> BlobstoreServiceFactory.getBlobstoreService();
>
>         AppEngineFile file = fileService.createNewBlobFile("text/
> plain");
>
>         FileWriteChannel writeChannel =
> fileService.openWriteChannel(file, true);
>
>         PrintWriter out = new
> PrintWriter(Channels.newWriter(writeChannel, "UTF8"));
>         out.println("The woods are lovely dark and deep.");
>         out.println("But I have promises to keep.");
>
>         out.close();
>         writeChannel.closeFinally(); // This line throwns the excepion
> bellow
>
> ..
>
> java.lang.IllegalStateException: The current request does not hold the
> exclusive lock.
>         at
> com.google.appengine.api.files.FileServiceImpl.close(FileServiceImpl.java:
> 315)
>         at
> com.google.appengine.api.files.FileWriteChannelImpl.closeFinally(FileWriteC 
> hannelImpl.java:
> 78)
>         at br.com.teste.RemoteAPI.main(RemoteAPI.java:82)

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] redirection to HTTPS is not working for Python app.yaml

2011-08-18 Thread thstart
to my Python app.yaml I added

- url: /.*
  script: main.py
*  secure: always*

BUT

*I don't get automatically redirected to the HTTPS*
*
*
*What is wrong?*
*
*
According:
http://code.google.com/appengine/docs/python/config/appconfig.html#Secure_URLs

handlers:

- url: /youraccount/.*
  script: accounts.py
  login: required
  *secure**: always*


always. Requests for a URL that match this handler that do not use HTTPS are
* automatically redirected to the HTTPS URL with the same path.* Query 
parameters are preserved for the redirect.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/3AK1D939P5sJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Using GAE as a pipe

2011-08-18 Thread Mikael Grev
Thanks Barry. Much appreciated.

Mikael

On Aug 18, 8:44 pm, Barry Hunter  wrote:
> No GAE wont really do this.
>
> GAE basically speaks HTTP - and over a CGI model. I.e. requests/responses.
>
> So a http requests comes in, a GAE script processes, it sends back
> some data (usually HTML but doesnt have to be) and then when the front
> end server gets the responce it forwards it back to the user.
>
> Probably a cheap VPS hosting somewhere will be best.
>
>
>
>
>
>
>
> On Thu, Aug 18, 2011 at 2:56 PM, Mikael Grev  wrote:
> > Hello,
>
> > Is it possible in a fairly easy way to use GAE as a pipe, basically
> > transporting custom binary data between two computers via a Google
> > server?
>
> > And if so (which I really expect to be possible) how will it perform?
> > I mean approximately which throughput will I get. And is there a way,
> > hopefully automatically, to make it use the closest server to pipe
> > through?
>
> > I ask because I was thinking about using GAE as a proxy server for VNC
> > when there's two computers between firewalls that wants to talk to
> > each other.
>
> > Cheers,
> > Mikael
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Google App Engine" group.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Using GAE as a pipe

2011-08-18 Thread Ikai Lan (Google)
I have a friend who likes watching local basketball games, but due to
blackout restrictions, he can't watch his favorite local team with NBA
league pass, so he tunnels through a VPS based in the middle of the country
to get around IP-geolocation based restrictions. A $5 VPS running sshd and
some clever port forwarding is probably enough to get this done. In your
case, you probably want to do reverse port forwarding for the VNC server to
a locally accessible port in the VPS, then, in your VNC client, talk to
localhost, where you have an SSH client listening on a local port forwarding
to the port listening to localhost on the VPS.

Note that more technical discussions about how to do this are outside the
scope of this discussion forum, so you might want to plug some of these
terms into your favorite search engine and just play around for a bit to get
a feel for doing it.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Thu, Aug 18, 2011 at 1:58 PM, Mikael Grev  wrote:

> Thanks Barry. Much appreciated.
>
> Mikael
>
> On Aug 18, 8:44 pm, Barry Hunter  wrote:
> > No GAE wont really do this.
> >
> > GAE basically speaks HTTP - and over a CGI model. I.e.
> requests/responses.
> >
> > So a http requests comes in, a GAE script processes, it sends back
> > some data (usually HTML but doesnt have to be) and then when the front
> > end server gets the responce it forwards it back to the user.
> >
> > Probably a cheap VPS hosting somewhere will be best.
> >
> >
> >
> >
> >
> >
> >
> > On Thu, Aug 18, 2011 at 2:56 PM, Mikael Grev 
> wrote:
> > > Hello,
> >
> > > Is it possible in a fairly easy way to use GAE as a pipe, basically
> > > transporting custom binary data between two computers via a Google
> > > server?
> >
> > > And if so (which I really expect to be possible) how will it perform?
> > > I mean approximately which throughput will I get. And is there a way,
> > > hopefully automatically, to make it use the closest server to pipe
> > > through?
> >
> > > I ask because I was thinking about using GAE as a proxy server for VNC
> > > when there's two computers between firewalls that wants to talk to
> > > each other.
> >
> > > Cheers,
> > > Mikael
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups "Google App Engine" group.
> > > To post to this group, send email to google-appengine@googlegroups.com
> .
> > > To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> > > For more options, visit this group athttp://
> groups.google.com/group/google-appengine?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread thstart
*I am responding here to combined comments:*

*I followed Brett Slatikn recommendations how to perform most efficient 
operations on DataStore and it works extremely fast *
*in Master / Slave.*

+Robert Kluin
> For instance, fetching a large list of keys from multiple entity groups 
may be slower due to the transaction overhead.

*I have list of keys only from one entity.*

>So you might need to evaluate your use of entity groups.  It may also
>be that you've got a design that is making many datastore RPCs in
>serial, that will probably be more of an issue when on HR since there
>is a slightly higher average latency.

*I store keys in lists. When getting the list *
*
*
*for example*
*class MyList(BaseModel):*
*My_keys = db.ListProperty(db.Key) *
*
*
*Brett Slatkin recommends about no more than 3,000 max and so do I.*
*
*
*and this is parallel:*
*
e = MyList.get_profile(email)
*
*
my_keys = e.my_keys
my_key = db.get(my_keys)

#That's it! Super fast!
@classmethod
def get_profile(self, email):
if not email:
return None
root = MyRoot.get_profile()
#cache
self._cache = get_cache("memcached://")
skey = email
key_cache = 'MyList' + skey + str(root.key())
profile = self._cache.get(key_cache)
#cache
if not profile:
key = db.Key.from_path('MyList',
   skey,
   parent=root.key())
profile = db.get(key)
# not found - create
if not profile:
#def txn():
root = MyRoot.get_profile_del_cache()
profile = MyList(key_name=skey,
   parent=root.key())
profile.put()
return profile
#return db.run_in_transaction(txn)
#cache
self._cache.set(key_cache, profile, timeout=CACHE_TIMEOUT)
#cache
return profile

*

+Fred Sauer
>verifying whether you are performing batch gets across entity groups

*I have transactions in which I have an operations on different entity 
groups but this is by design. *

>I should also point out that I have yet to meet a developer whose not 
happier on HRD and migrating their app. 
>You may well be the first (although I'm not trying to imply that you are 
the only one)... :)

*The app is in development for more than a year and I followed best 
practices valid at this time before high replication*
*datastore was introduced. Redesign is not an option because I already have 
generated a lot of interest and waiting list*
*of customers ready to pay for the current functionality. The benefit I 
would get from going to High Replication does not *
*justifies the effort: I have already 20,000 lines of code - redesign is not 
practical.*
*
*
*Best,*
*
*
*--Constantine*

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/S6G9eOWRvVUJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread thstart
+Joshua Smith
>From my reading, M/S seems to have better throughput than HR, at the 
expense of more frequent downtime, 
>and spurious datastore timeouts.  I'd like to have that option in a 
multi-threaded app.

This is more important for public app (site) with many anonymous users. 

My app is 100% user based - e.g. used after log-in, but heavy on data 
related to each particular user. 
The users are not accessing it very often (say they access it many times a 
day but this is not much)
but when they access it they need to be as fast as possible.

So  *frequent downtime *is a non-issue, the chance a user to access it at 
exactly this time are minimal,* *
*spurious datastore timeouts *is a non-issue because this is rare - so I can 
live with Master / Slave 
imperfections - it is good enough and I don;t need to rewrite and optimize 
again.

+Ikai Lan
>Master/Slave doesn't have better throughput. In the 99th percentile, 
because of datastore latency spikes, 
>high replication far outperforms master/slave.

I think Master/Slave is a lot faster in my case up to 10 times faster. I 
tested it with only read, no write operations,
no transactions, nothing special for example I have a heavy use of this 
expression:

*
e = MyList.get_profile(email)
*
*
my_keys = e.my_keys  
my_members = db.get(my_keys)

for member in my_members:
member., etc. <-- do something with the 
property

*
*and it is parallel in Master/Slave (according to Brett Slatkin 
presentation) . In High Replication I believe it is serial,*
*probably I am wrong (I don't have a way to know) but this operation is very 
slow in High Replication.*
*
*
*My code uses heavily this construct and it is extremely fast.*
*
*
*Best,*
*
*
*--Constantine*
*
*
*

*



-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/DoYJ0jkPJ7cJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Ikai Lan (Google)
If you enable eventually consistent queries, a batch get by key in high
replication should perform as fast as in master/slave.

The practice you're citing from Brett is a few years old and predates high
replication; would you be willing to revisit it if I roped him into updating
it for high replication?

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Thu, Aug 18, 2011 at 2:58 PM, thstart  wrote:

> +Joshua Smith
> >From my reading, M/S seems to have better throughput than HR, at the
> expense of more frequent downtime,
> >and spurious datastore timeouts.  I'd like to have that option in a
> multi-threaded app.
>
> This is more important for public app (site) with many anonymous users.
>
> My app is 100% user based - e.g. used after log-in, but heavy on data
> related to each particular user.
> The users are not accessing it very often (say they access it many times a
> day but this is not much)
> but when they access it they need to be as fast as possible.
>
> So  *frequent downtime *is a non-issue, the chance a user to access it at
> exactly this time are minimal,* *
> *spurious datastore timeouts *is a non-issue because this is rare - so I
> can live with Master / Slave
> imperfections - it is good enough and I don;t need to rewrite and optimize
> again.
>
> +Ikai Lan
> >Master/Slave doesn't have better throughput. In the 99th percentile,
> because of datastore latency spikes,
> >high replication far outperforms master/slave.
>
> I think Master/Slave is a lot faster in my case up to 10 times faster. I
> tested it with only read, no write operations,
> no transactions, nothing special for example I have a heavy use of this
> expression:
>
> *
> e = MyList.get_profile(email)
> *
> *
> my_keys = e.my_keys
> my_members = db.get(my_keys)
>
> for member in my_members:
> member., etc. <-- do something with the
> property
>
> *
> *and it is parallel in Master/Slave (according to Brett Slatkin
> presentation) . In High Replication I believe it is serial,*
> *probably I am wrong (I don't have a way to know) but this operation is
> very slow in High Replication.*
> *
> *
> *My code uses heavily this construct and it is extremely fast.*
> *
> *
> *Best,*
> *
> *
> *--Constantine*
> *
> *
> *
>
> *
>
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/DoYJ0jkPJ7cJ.
>
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread thstart
>If you enable eventually consistent queries, a batch get by key in high 
replication should perform as fast as in master/slave.

*is this related only to queries like:*

q = db.GqlQuery("SELECT * FROM Person " +
"WHERE last_name = :1 AND height < :2 " +
"ORDER BY height DESC",
"Smith", 72)


http://code.google.com/appengine/docs/python/datastore/queries.html

The Master/Slave Datastore and the High Replication 
Datastore have 
different guarantees when it comes to query consistency. By default:

   - The Master/Slave datastore is strongly consistent for all queries.
   - The High Replication datastore is strongly consistent by default* for 
   queries* within an entity 
group.
 With 
   the High Replication Datastore, non-ancestor queries are always eventually 
   consistent.



*If that is the case I managed to get rid of queries - I don't use any any 
queries, just working with lists and keys - 
*
*it is parallel, fast, don't need indexes, etc. Bret Slatkin had very useful 
presentations and found them to be very simple*
*and to work in practice.*
*
*
*By the way our customers don't know what technique I am using only thing 
they care is to be fast and they are telling me*
*up to now they haven't used a web app with so much functionality to be so 
fast. *
*
*
*I would say they to be fast is that I designed the database as separate 
entity for each user - e.g. it scales with numbers of users*
*automatically. Very important is that I don;t use any queries, indexes, 
etc. just lists of keys and for ... in construct for search,*
*also the keys and entities are composed in as many ways possible in advance 
so when the user is searching for data it gets*
*it instantly because search is embedded in the keys. In Master/S**lave all 
this worked in parallel and was extremely fast.*
*
*
*
*
>The practice you're citing from Brett is a few years old and predates high 
replication; would you be willing to revisit it if I roped him into updating 
it for high >replication?*
*

Yes this is true, but you have to admit this is the only useful information 
on designing efficient data-store. There is *only one* serious book 
explaining
how *AppEngine Datastore* is working and in this book you can read the same 
recommendation like Brett Slatkin recommends. And the book 
is a year old:

Programming Google App Engine
by Dan Sanderson
Copyright © *2010* Dan Sanderson.

Dan Sanderson is working at Google and explains everything extremely well 
and I believe after so much time and efforts invested to understand how it 
works and to successfully implement a very useful app with waiting customers 
- *do I have to think a book and technique explained in 2010 is already 
out-dated?*


>would you be willing to revisit it if I roped him into updating it for high 
replication?

*I always want to know new techniques, so the quick answer is yes, 
definitely. *
*
*
*You should also keep in mind that it is not a good business idea to 
constantly revisit *
*and rewrite a perfectly working and tested code.*
*
*
*Best,*
*--Constantine*






*
*

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/BzQWzYVCk3UJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Ikai Lan (Google)
Eventually consistent datastore gets make get by key operations faster.
Queries should perform the same, but better in failure scenarios in high
replication.

As far as things going out of date goes: that's just the technology world
for you. Every API or service provider in the world will do their best to
keep things up to date, but unless you're doing legacy COBOL maintenance,
there's always going to bits where people will say, "Oh, by the way, don't
use that way anymore. Use this new way instead." The high replication
datastore didn't exist when Dan wrote that book. Also, you should know how
the book writing cycle works: a writer works with a publisher, then writes
the book over the next year or two. During that time, the publisher markets
the book, and the writer furiously tries to keep it up to date, knowing that
chances are good there are bits that will be obsolete and his initial plan
has to change. I don't know off the top of my head if Dan is planning on
releasing a new version of his book or not. The first edition was printed in
November 2009. In general, Dan's advice is correct: use get-by-key as much
as possible, and any update to the book will likely include a section about
high replication.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Thu, Aug 18, 2011 at 3:52 PM, thstart  wrote:

> >If you enable eventually consistent queries, a batch get by key in high
> replication should perform as fast as in master/slave.
>
> *is this related only to queries like:*
>
> q = db.GqlQuery("SELECT * FROM Person " +
>
> "WHERE last_name = :1 AND height < :2 " +
>
> "ORDER BY height DESC",
> "Smith", 72)
>
>
> http://code.google.com/appengine/docs/python/datastore/queries.html
>
> The Master/Slave Datastore and the High Replication 
> Datastore have
> different guarantees when it comes to query consistency. By default:
>
>- The Master/Slave datastore is strongly consistent for all queries.
>- The High Replication datastore is strongly consistent by default* for
>queries* within an entity 
> group.
>  With
>the High Replication Datastore, non-ancestor queries are always eventually
>consistent.
>
>
>
> *If that is the case I managed to get rid of queries - I don't use any any
> queries, just working with lists and keys -
> *
> *it is parallel, fast, don't need indexes, etc. Bret Slatkin had very
> useful presentations and found them to be very simple*
> *and to work in practice.*
> *
> *
> *By the way our customers don't know what technique I am using only thing
> they care is to be fast and they are telling me*
> *up to now they haven't used a web app with so much functionality to be so
> fast. *
> *
> *
> *I would say they to be fast is that I designed the database as separate
> entity for each user - e.g. it scales with numbers of users*
> *automatically. Very important is that I don;t use any queries, indexes,
> etc. just lists of keys and for ... in construct for search,*
> *also the keys and entities are composed in as many ways possible in
> advance so when the user is searching for data it gets*
> *it instantly because search is embedded in the keys. In Master/S**lave
> all this worked in parallel and was extremely fast.*
> *
> *
> *
> *
> >The practice you're citing from Brett is a few years old and predates high
> replication; would you be willing to revisit it if I roped him into updating
> it for high >replication?*
> *
>
> Yes this is true, but you have to admit this is the only useful information
> on designing efficient data-store. There is *only one* serious book
> explaining
> how *AppEngine Datastore* is working and in this book you can read the
> same recommendation like Brett Slatkin recommends. And the book
> is a year old:
>
> Programming Google App Engine
> by Dan Sanderson
> Copyright © *2010* Dan Sanderson.
>
> Dan Sanderson is working at Google and explains everything extremely well
> and I believe after so much time and efforts invested to understand how it
> works and to successfully implement a very useful app with waiting customers
> - *do I have to think a book and technique explained in 2010 is already
> out-dated?*
>
>
> >would you be willing to revisit it if I roped him into updating it for
> high replication?
>
> *I always want to know new techniques, so the quick answer is yes,
> definitely. *
> *
> *
> *You should also keep in mind that it is not a good business idea to
> constantly revisit *
> *and rewrite a perfectly working and tested code.*
> *
> *
> *Best,*
> *--Constantine*
>
>
>
>
>
>
> *
> *
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-ap

Re: [google-appengine] Website Spam posing by appid: aking-741 using IP 64.233.172.1

2011-08-18 Thread Murray W


*What do you want to do, monitor a site and if some app is hitting it
too frequently automatically report it to Google for abusing *your*
ToS?*

(Not sure what you mean by ToS, must be a AppEngine code word.)

Actually I do monitor my site. Doesn't everyone today monitor for 
pharmaceutical 
spam, SQL injection attempts and your classical bruteforce attacks? 

I'm not worry about an application hitting my sites. I see allot of good 
appid:'s . It's when an AppEngine application is used like an open proxy to 
spam sites. Then the scripts brings the hammer down.

Aren't your applications a SaaS? (Software as a Service)

Before you think, read what I have to say. 
If one of my sites picks up 20 or 30 spam posting attempts from a single 
AppEngine that's only my site. Add a few million other sites to the mix and 
your application just cost you a bundle in bandwidth to allow a spammer to 
use.  Not my bandwidth but your applications bandwidth.

I've read the "DDoS" and "Reached Quota" forum posts and my guess it's just 
spammers. They tend to flock 50 or so at a time averaging from what I detect 
2 to 5 posts per second. 
I'm thinking if you all found a way to either get live abuse reports or 
updates it might actually save you money.

I'm just trying to help you all, but if you have it handled then I'll just 
watch the apps eat your bandwidth and get posted on popular blacklists. 
Today's list includes: 

appengine-google; (+http://code.google.com/appengine; appid: domaintraker)
IP: 209.85.224.84
Contents: http alonsoalic3 . splinder . com Percocet Dose (blah blah blah)

It's only spam to me. 

I wonder how much bandwidth that app is costing:

Remember, I'm only one in a million websites and it's clear I'm the only one 
to bring up an issue that is costing you money. 
The appid listed above was reported by one site I monitor:
First seen: Report Date: 8/7/2011 4:32:41 AM last visited Report Date: 
8/18/2011 1:33:25 AM

Add 20 million and that's some good bandwidth for the appid: domaintraker. 

I'm sure there is a way to create a sub-routine to monitor POST / GET 
requests from your apps. 
I would believe that a "Human" wouldn't be sending "Post and Get" requests 
at 4 or more per second. 

I'd be glad to work with those that are willing to work on a application. 

I've opened up the NOC reports for visitors this week. You can find the 
Google IPs and Amazon listings. Look for the APPID: notice to see how often 
this happens. 
 XCtM Project v2  

Good luck and thanks for answering my questions. 


-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/ZuOOAgJ6VuUJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Status of federated logins

2011-08-18 Thread gwstuff
Hi everyone,

We are going to release a new app engine-based paid service and pitch it to 
the substantial user base of our mobile apps in the coming weeks. We are 
very excited to see how this pans out. One thing we are a bit nervous about 
however is that we have used the federated login framework for identity 
management.

Once our users create their accounts, we will be irrevocable committed to 
supporting them. At the same time, federated login is marked as an 
experimental feature - and we are wondering if this means that there's a 
chance that it might get dropped in a future release. Federated login is a 
really cool feature so we do want to keep it, but if it's too risky then we 
will opt to be safe and just use custom service-specific accounts.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/ZbAyxzjPbuoJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] erroring

2011-08-18 Thread Andrius A
google engineers,

we see errors again. I appreciate your effort, GAE is great platform! But
whats going on with GAE recently? is it because of increasing number of GAE
users?

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: erroring

2011-08-18 Thread blackpawn
yeah appengine has my site down for 90 minutes now... think maybe someone 
spilled soda on an important server over at google HQ!  hope things come 
back up soon!

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/gavFGuZphYMJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: erroring

2011-08-18 Thread reco
Seems also the login to appemgine.google.com is down.

Reco

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: erroring

2011-08-18 Thread blackpawn
things seem back to normal for me now, thanks Google heroes!!!

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/bswxS9n8-s8J.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread Rishi Arora
Yes, I see this too.  No access to Dashboard, and all of my app's entry
points are unresponsive.  (app ID shiprack-test1, if it helps the
investigation).  For all users on this list, it helps escalate the problem,
if multiple app authors report the problem.

On Thu, Aug 18, 2011 at 8:41 PM, reco  wrote:

> Seems also the login to appemgine.google.com is down.
>
> Reco
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread Rishi Arora
This is the only thing I can access right now, and it does not look good:

http://code.google.com/status/appengine


On Thu, Aug 18, 2011 at 8:45 PM, blackpawn wrote:

> things seem back to normal for me now, thanks Google heroes!!!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/bswxS9n8-s8J.
>
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread blackpawn
hehe yeah i totally posted too soon! everything went down a few minutes 
after :P

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/OVa1GDVltf8J.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread Nick Johnson
We're currently experiencing production issues. I'll post an update to the
downtime notify list with details very shortly. Sincere apologies for the
inconvenience.

-Nick Johnson

On Fri, Aug 19, 2011 at 11:51 AM, Rishi Arora wrote:

> This is the only thing I can access right now, and it does not look good:
>
> http://code.google.com/status/appengine
>
>
> On Thu, Aug 18, 2011 at 8:45 PM, blackpawn wrote:
>
>> things seem back to normal for me now, thanks Google heroes!!!
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google App Engine" group.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msg/google-appengine/-/bswxS9n8-s8J.
>>
>> To post to this group, send email to google-appengine@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-appengine+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>



-- 
Nick Johnson, Developer Programs Engineer, App Engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: erroring

2011-08-18 Thread stephenp
My apps are down too (appid: carglyonline). I get lots of intermittent 
"Server Error" messages. I get "Server Error" trying to access the 
dashboard. I also get errors trying to deploy a new version. Please fix :)

Stephen

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/ZNRceDf38J4J.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread Stephen Mayer
I'm seeing problems with the control panel, but my site is on HR datastore 
and the site is fine.  Perhaps its only impacting master/slave datastore 
users?

Stephen

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/fcCwv0289lQJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread reco
thanx nick! good luck!

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/0KioM7Tv0PYJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread Rishi Arora
My app uses HR datastore, and all my app's entry points are impacted.

On Thu, Aug 18, 2011 at 9:06 PM, reco  wrote:

> thanx nick! good luck!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/0KioM7Tv0PYJ.
>
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: erroring

2011-08-18 Thread ZeroCool
Master/Slave datastore apps are down.
HR ones are still working.
Portal is down atm.

On Aug 19, 10:06 am, reco  wrote:
> thanx nick! good luck!

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread Nick Johnson
Please see this thread on the downtime notify group for updates:
http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/ff24c9b1ed5e39a2

On Fri, Aug 19, 2011 at 12:12 PM, ZeroCool  wrote:

> Master/Slave datastore apps are down.
> HR ones are still working.
> Portal is down atm.
>
> On Aug 19, 10:06 am, reco  wrote:
> > thanx nick! good luck!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread blackpawn
thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/dQh31VMBMfMJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] 500 error usually occurs

2011-08-18 Thread saintthor
can not open my site http://djdqbbs.appspot.com, nor update, nor
console.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: 500 error usually occurs

2011-08-18 Thread saintthor
if not 500 error, always see DeadlineExceededError. the code is not
changed.

On Aug 19, 10:23 am, saintthor  wrote:
> can not open my sitehttp://djdqbbs.appspot.com, nor update, nor
> console.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Query Limit Problem/Question

2011-08-18 Thread See The Light
The Geocoding API v3. I am using the Xml response.

I just hit the limit tonight testing some changes that needed to be
implemented.  I had 698 addresses to geocode. I pulled them from the
database and submit each address using:

http://maps.googleapis.com/maps/api/geocode/xml?address={0}&sensor=false

I then write back some of the data in the response. I checked and 26
came up empty. I reran the code and 2 came back with the
OVER_QUERY_LIMIT. So, it took 3 passes to geocode 698 addresses. I had
to use 726 calls.  Luckily this is only one of the tables that needs
updating and we only submit it to geocoding when the address changes.
We keep track of all our calls when geocoding on the server side as
stated previously.

Thanks again for the help.

On Aug 17, 9:19 am, "Ikai Lan (Google)"  wrote:
> Is this the maps API you're referring to?
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> plus.ikailan.com | twitter.com/ikai
>
> On Tue, Aug 16, 2011 at 9:28 AM, See The Light  wrote:
>
>
>
>
>
>
>
> > Over the past couple of weeks I have noticed an increase in the number
> > of "OVER_QUERY_LIMIT" responses we have been receiving.  Currently
> > whenever we make a call to be geocoded we keep track of that call and
> > decrease a counter on our end.  I have historical data that shows we
> > usually end the day with at least 300 queries left.  This AM, I cannot
> > even make a query off the server because it returns the limit message,
> > and I show in our table that we have some 2300 call left.
>
> > Is there a call that can be made to get your current query limit? If
> > not, does the 2500 calls allowed happen in a sliding window? Are there
> > hourly limits to prevent flooding?
>
> > This would be greatly helpful provided our search mechanism first
> > attempts to get relevant geocoded data from the server before actually
> > calling over to Google for an unknown geocode.
>
> > Thanks.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: erroring

2011-08-18 Thread fedex1
A couple of questions.

What strategy do you use to move from Master Slave to High
Replication?

I assume it's not as easy as changing a configuration parameter.  In
fact, you cannot change Datastore Replication Options after you've
created an application it seems.

Do you simply create a new application using High Replication as the
Datastore Replication Option and then migrate your data and migrate
your source?


Also, right after this outage, I tried to create a new application for
example "event-registration-hr" and the admin console said it was
available.  I created it and it seemed to fail, but the name "event-
registration-hr" was now taken, but not allocated to my applications.
I tried again with another name and it happened again.  Maybe an after
effect of the outage.

Thanks,
Ralph

On Aug 18, 9:57 pm, Stephen Mayer  wrote:
> I'm seeing problems with the control panel, but my site is on HR datastore
> and the site is fine.  Perhaps its only impacting master/slave datastore
> users?
>
> Stephen

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] 500 error usually occurs

2011-08-18 Thread Nick Johnson
App Engine is currently experiencing production issues. Please see this
thread on the downtime notify group for details:
http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/ff24c9b1ed5e39a2?hl=en

-Nick

On Fri, Aug 19, 2011 at 12:23 PM, saintthor  wrote:

> can not open my site http://djdqbbs.appspot.com, nor update, nor
> console.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: erroring

2011-08-18 Thread Nick Johnson
On Fri, Aug 19, 2011 at 12:46 PM, fedex1  wrote:

> A couple of questions.
>
> What strategy do you use to move from Master Slave to High
> Replication?
>
> I assume it's not as easy as changing a configuration parameter.  In
> fact, you cannot change Datastore Replication Options after you've
> created an application it seems.
>
> Do you simply create a new application using High Replication as the
> Datastore Replication Option and then migrate your data and migrate
> your source?
>

Yes. If you'd like to discuss this, though, you should probably start a new
thread.


>
>
> Also, right after this outage, I tried to create a new application for
> example "event-registration-hr" and the admin console said it was
> available.  I created it and it seemed to fail, but the name "event-
> registration-hr" was now taken, but not allocated to my applications.
> I tried again with another name and it happened again.  Maybe an after
> effect of the outage.
>

The outage is still ongoing. Please see this thread in the groups for
details:
http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/ff24c9b1ed5e39a2?hl=en

-Nick


>
> Thanks,
> Ralph
>
> On Aug 18, 9:57 pm, Stephen Mayer  wrote:
> > I'm seeing problems with the control panel, but my site is on HR
> datastore
> > and the site is fine.  Perhaps its only impacting master/slave datastore
> > users?
> >
> > Stephen
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Query Limit Problem/Question

2011-08-18 Thread Robert Kluin
You know this is the App Engine list, not a Maps or gdata list, right?







On Thu, Aug 18, 2011 at 22:37, See The Light  wrote:
> The Geocoding API v3. I am using the Xml response.
>
> I just hit the limit tonight testing some changes that needed to be
> implemented.  I had 698 addresses to geocode. I pulled them from the
> database and submit each address using:
>
> http://maps.googleapis.com/maps/api/geocode/xml?address={0}&sensor=false
>
> I then write back some of the data in the response. I checked and 26
> came up empty. I reran the code and 2 came back with the
> OVER_QUERY_LIMIT. So, it took 3 passes to geocode 698 addresses. I had
> to use 726 calls.  Luckily this is only one of the tables that needs
> updating and we only submit it to geocoding when the address changes.
> We keep track of all our calls when geocoding on the server side as
> stated previously.
>
> Thanks again for the help.
>
> On Aug 17, 9:19 am, "Ikai Lan (Google)"  wrote:
>> Is this the maps API you're referring to?
>>
>> --
>> Ikai Lan
>> Developer Programs Engineer, Google App Engine
>> plus.ikailan.com | twitter.com/ikai
>>
>> On Tue, Aug 16, 2011 at 9:28 AM, See The Light  wrote:
>>
>>
>>
>>
>>
>>
>>
>> > Over the past couple of weeks I have noticed an increase in the number
>> > of "OVER_QUERY_LIMIT" responses we have been receiving.  Currently
>> > whenever we make a call to be geocoded we keep track of that call and
>> > decrease a counter on our end.  I have historical data that shows we
>> > usually end the day with at least 300 queries left.  This AM, I cannot
>> > even make a query off the server because it returns the limit message,
>> > and I show in our table that we have some 2300 call left.
>>
>> > Is there a call that can be made to get your current query limit? If
>> > not, does the 2500 calls allowed happen in a sliding window? Are there
>> > hourly limits to prevent flooding?
>>
>> > This would be greatly helpful provided our search mechanism first
>> > attempts to get relevant geocoded data from the server before actually
>> > calling over to Google for an unknown geocode.
>>
>> > Thanks.
>>
>> > --
>> > You received this message because you are subscribed to the Google Groups
>> > "Google App Engine" group.
>> > To post to this group, send email to google-appengine@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> > google-appengine+unsubscr...@googlegroups.com.
>> > For more options, visit this group at
>> >http://groups.google.com/group/google-appengine?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Robert Kluin
That is an excellent clue.  Try changing
   logging.info('Got answer, value is: %d', number.ans)
to:
   logging.info('Got answer, value is: %s', str(number.ans))


Also, just noticed one other thing.  Instead of 'if number is not
None', in Python you can do 'if number' -- much nicer.






On Thu, Aug 18, 2011 at 16:16, Matt  wrote:
> It doesn't look like it. This is the log
>
> INFO     2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is
> agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA
> Traceback (most recent call last):
>  File "C:\Python25\lib\logging\__init__.py", line 744, in emit
>    msg = self.format(record)
>  File "C:\Python25\lib\logging\__init__.py", line 630, in format
>    return fmt.format(record)
>  File "C:\Python25\lib\logging\__init__.py", line 418, in format
>    record.message = record.getMessage()
>  File "C:\Python25\lib\logging\__init__.py", line 288, in getMessage
>    msg = msg % self.args
> TypeError: int argument required
> INFO     2011-08-18 20:08:48,299 dev_appserver.py:4247] "POST / HTTP/
> 1.1" 200 -
> INFO     2011-08-18 20:08:48,456 dev_appserver.py:4247] "GET /
> numguess.css HTTP/1.1" 200 -
>
>
> If that means anything I see a TypeError... maybe that's what is
> stopping the random number entity to be pulled back out?
>
> Thanks again for the help.
>
> On Aug 18, 11:07 am, Robert Kluin  wrote:
>> Hey Matt,
>>   Yeah there was a typo in my same code, should not have been:
>>     logging.info('Wrote answer, key is: %s', str(answer.key()))
>>   but rather:
>>     logging.info('Wrote answer, key is: %s', str(answer))
>>
>>   What that is telling you is that an answer entity was successfully
>> written.  So, now you know that the entity is getting written, what is
>> the next logging line?  Are you getting an entity back from the
>> datastore?
>>
>> Robert
>>
>>
>>
>>
>>
>>
>>
>> On Thu, Aug 18, 2011 at 12:33, Matt  wrote:
>> > Thanks for the heads up on logging.
>>
>> > I tried the logging but don't know if I did it right. For the first
>> > logging part in the code, I put:
>> > logging.info('Wrote answer, key is: %s', str(answer.key()))
>> > and it gave me this in the browser:
>> > AttributeError: 'Key' object has no attribute 'key'
>>
>> > I tried replacing key with ans but that gave the same error type.
>> > When I just put:
>> > logging.info('Wrote answer, key is: %s', str(answer))
>> > the log file comes with this:
>> > Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA
>>
>> > Am I doing something wrong or does this info mean anything? I honestly
>> > don't know what to make of it or what to change to get the random
>> > number in/out.. I feel like I am following what the docs say though.
>>
>> > On Aug 17, 10:19 pm, Robert Kluin  wrote:
>> >> Hi,
>> >>   You should check out the Python logging package, it is super handy.
>> >> Add some logging calls to your code so you can see what is happening.
>> >> For example:
>>
>> >>   import logging
>>
>> >>   def post(self):
>> >>     stguess = self.request.get('guess')
>> >>     if stguess == 'new':
>> >>       answer = Answer(ans = (random.randint(1, 100))).put()
>> >>       logging.info('Wrote answer, key is: %s', str(answer.key()))
>> >>       number = Answer.all().get()
>> >>       if number is not None:
>> >>         logging.info('Got answer, value is: %d', number.ans)
>> >>         answer = number.ans
>> >>       else:
>> >>         logging.info('Oh No! Got no answer!')
>> >>         answer = None
>> >>     else:
>> >>       logging.info('Doing nothing.')
>>
>> >> Robert
>>
>> >> On Wed, Aug 17, 2011 at 17:33, Matt  wrote:
>> >> > I am trying to pull an integer from the datastore but I keep getting
>> >> > None back. I store the integers here-
>>
>> >> > class Answer(db.Model):
>> >> >    ans = db.IntegerProperty()
>>
>> >> > As a test I did this -
>>
>> >> > def post(self):
>>
>> >> >        stguess = self.request.get('guess')
>> >> >        if stguess == 'new':
>> >> >            answer = Answer(ans = (random.randint(1, 100))).put()
>> >> >            number = Answer.all().get()
>> >> >            if number is not None:
>> >> >                answer = number.ans
>> >> >            else:
>> >> >                answer = None
>> >> >            msg = str(answer)
>>
>> >> > So what that does is take user input from the user and if they entered
>> >> > 'new' follow the if path. ans equals a random integer between 1 and
>> >> > 100. Put it in Answer. Then immediately after, pull the first integer
>> >> > from Answer. If it is not None assign the variable answer to the
>> >> > result, else assign it to None. msg is displayed on screen. Instead of
>> >> > a random number which I am expecting to be displayed, None is
>> >> > displayed instead.
>>
>> >> > I also tried using count to see how many items were actually in the
>> >> > database and the count was more than 0.
>>
>> >> > Is there anything wrong with how I am putting or retrieving from the
>> >> > datastore? How can I change this so I get the random number into

Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Tim Hoffman


>
> Also, just noticed one other thing.  Instead of 'if number is not
> None', in Python you can do 'if number' -- much nicer.
>
>
> Though not very good if number can be 0 or "" as opposed to None ;-)

I am not sure which reads better

number is not None
or
not number is None
or
or number != None



T 

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/OZApIUGT9noJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Matt
Thanks again.

Changed that line and now this appears in the logs:
   INFO 2011-08-19 04:02:28,358 index.py:33] Got answer, value is:
None
So it is putting something in and it is None. I am not sure why. I
must not be using .put() correctly to store the random number?
   answer = Answer(ans = (random.randint(1, 100))).put()

I have tried variations of the put() such as not assigning a random
number inside this statement then referring to it, but it always comes
up as None.


On Aug 18, 9:29 pm, Robert Kluin  wrote:
> That is an excellent clue.  Try changing
>    logging.info('Got answer, value is: %d', number.ans)
> to:
>    logging.info('Got answer, value is: %s', str(number.ans))
>
> Also, just noticed one other thing.  Instead of 'if number is not
> None', in Python you can do 'if number' -- much nicer.
>
>
>
>
>
>
>
> On Thu, Aug 18, 2011 at 16:16, Matt  wrote:
> > It doesn't look like it. This is the log
>
> > INFO     2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is
> > agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA
> > Traceback (most recent call last):
> >  File "C:\Python25\lib\logging\__init__.py", line 744, in emit
> >    msg = self.format(record)
> >  File "C:\Python25\lib\logging\__init__.py", line 630, in format
> >    return fmt.format(record)
> >  File "C:\Python25\lib\logging\__init__.py", line 418, in format
> >    record.message = record.getMessage()
> >  File "C:\Python25\lib\logging\__init__.py", line 288, in getMessage
> >    msg = msg % self.args
> > TypeError: int argument required
> > INFO     2011-08-18 20:08:48,299 dev_appserver.py:4247] "POST / HTTP/
> > 1.1" 200 -
> > INFO     2011-08-18 20:08:48,456 dev_appserver.py:4247] "GET /
> > numguess.css HTTP/1.1" 200 -
>
> > If that means anything I see a TypeError... maybe that's what is
> > stopping the random number entity to be pulled back out?
>
> > Thanks again for the help.
>
> > On Aug 18, 11:07 am, Robert Kluin  wrote:
> >> Hey Matt,
> >>   Yeah there was a typo in my same code, should not have been:
> >>     logging.info('Wrote answer, key is: %s', str(answer.key()))
> >>   but rather:
> >>     logging.info('Wrote answer, key is: %s', str(answer))
>
> >>   What that is telling you is that an answer entity was successfully
> >> written.  So, now you know that the entity is getting written, what is
> >> the next logging line?  Are you getting an entity back from the
> >> datastore?
>
> >> Robert
>
> >> On Thu, Aug 18, 2011 at 12:33, Matt  wrote:
> >> > Thanks for the heads up on logging.
>
> >> > I tried the logging but don't know if I did it right. For the first
> >> > logging part in the code, I put:
> >> > logging.info('Wrote answer, key is: %s', str(answer.key()))
> >> > and it gave me this in the browser:
> >> > AttributeError: 'Key' object has no attribute 'key'
>
> >> > I tried replacing key with ans but that gave the same error type.
> >> > When I just put:
> >> > logging.info('Wrote answer, key is: %s', str(answer))
> >> > the log file comes with this:
> >> > Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA
>
> >> > Am I doing something wrong or does this info mean anything? I honestly
> >> > don't know what to make of it or what to change to get the random
> >> > number in/out.. I feel like I am following what the docs say though.
>
> >> > On Aug 17, 10:19 pm, Robert Kluin  wrote:
> >> >> Hi,
> >> >>   You should check out the Python logging package, it is super handy.
> >> >> Add some logging calls to your code so you can see what is happening.
> >> >> For example:
>
> >> >>   import logging
>
> >> >>   def post(self):
> >> >>     stguess = self.request.get('guess')
> >> >>     if stguess == 'new':
> >> >>       answer = Answer(ans = (random.randint(1, 100))).put()
> >> >>       logging.info('Wrote answer, key is: %s', str(answer.key()))
> >> >>       number = Answer.all().get()
> >> >>       if number is not None:
> >> >>         logging.info('Got answer, value is: %d', number.ans)
> >> >>         answer = number.ans
> >> >>       else:
> >> >>         logging.info('Oh No! Got no answer!')
> >> >>         answer = None
> >> >>     else:
> >> >>       logging.info('Doing nothing.')
>
> >> >> Robert
>
> >> >> On Wed, Aug 17, 2011 at 17:33, Matt  wrote:
> >> >> > I am trying to pull an integer from the datastore but I keep getting
> >> >> > None back. I store the integers here-
>
> >> >> > class Answer(db.Model):
> >> >> >    ans = db.IntegerProperty()
>
> >> >> > As a test I did this -
>
> >> >> > def post(self):
>
> >> >> >        stguess = self.request.get('guess')
> >> >> >        if stguess == 'new':
> >> >> >            answer = Answer(ans = (random.randint(1, 100))).put()
> >> >> >            number = Answer.all().get()
> >> >> >            if number is not None:
> >> >> >                answer = number.ans
> >> >> >            else:
> >> >> >                answer = None
> >> >> >            msg = str(answer)
>
> >> >> > So what that does is take user input from the user and if they entered
> >

[google-appengine] Re: SDK 1.5.3 - deployment fails with the message "Found interface com.google.appengine.tools.admin.Application, but class was expected."

2011-08-18 Thread MindRaider
Great! Thank you for logging the defect.

-- martin

On Aug 18, 9:59 pm, "Ikai Lan (Google)"  wrote:
> Yep, we're on it:
>
> http://code.google.com/p/googleappengine/issues/detail?id=5612
>
> We might end up releasing a new SDK for this.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> plus.ikailan.com | twitter.com/ikai
>
>
>
>
>
>
>
> On Wed, Aug 17, 2011 at 3:28 PM, MindRaider  wrote:
> > I have a problem with the deployment of my application with SDK 1.5.3.
> > It compiles without any problems, but it fails just before the
> > deployment with message:
>
> >  Found interface com.google.appengine.tools.admin.Application, but
> > class was expected
>
> > OS: Win7 64b; Eclipse Helios; GAE SDK 1.5.3; application
> >http://web.mindforger.com
>
> > After downgrade everything works perfectly.
>
> > Any suggestions?
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Tim Hoffman
Hi

WHen you retrieve the record are you sure your getting the one you think you 
are ?
Each time you put you create a new record.


You get is returning the first record it finds (key order)
If you wrote some Answer entities early on with no value, then you wont get 
a value in the Answer object.

Probably should include your current code state, so we can see where you are 
up to.

T

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/1OIzkRkq2ggJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Robert Kluin
On Thu, Aug 18, 2011 at 23:40, Tim Hoffman  wrote:
>
>>
>> Also, just noticed one other thing.  Instead of 'if number is not
>> None', in Python you can do 'if number' -- much nicer.
>
> Though not very good if number can be 0 or "" as opposed to None ;-)

True.  But I find that syntax cleaner for an entity.  Maybe just a
personal preference though...

>
> I am not sure which reads better
>
> number is not None

I like this one, it is very natural feeling.

> or
> not number is None
> or
> or number != None

None is an instance, iirc.  So you're supposed to use 'is' to check
identity, I think.  ;)

>
>
>
> T
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/OZApIUGT9noJ.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Robert Kluin
Hey Matt,
  You should use the datastore viewer and make sure you don't have
some bad data in there.  I'm guessing you've got entities where ans is
not set for your earlier testing.

  The good news is that you now know how to use logging, so you'll be
able to debug issues like this better in the future.


Robert




On Fri, Aug 19, 2011 at 00:13, Matt  wrote:
> Thanks again.
>
> Changed that line and now this appears in the logs:
>   INFO     2011-08-19 04:02:28,358 index.py:33] Got answer, value is:
> None
> So it is putting something in and it is None. I am not sure why. I
> must not be using .put() correctly to store the random number?
>   answer = Answer(ans = (random.randint(1, 100))).put()
>
> I have tried variations of the put() such as not assigning a random
> number inside this statement then referring to it, but it always comes
> up as None.
>
>
> On Aug 18, 9:29 pm, Robert Kluin  wrote:
>> That is an excellent clue.  Try changing
>>    logging.info('Got answer, value is: %d', number.ans)
>> to:
>>    logging.info('Got answer, value is: %s', str(number.ans))
>>
>> Also, just noticed one other thing.  Instead of 'if number is not
>> None', in Python you can do 'if number' -- much nicer.
>>
>>
>>
>>
>>
>>
>>
>> On Thu, Aug 18, 2011 at 16:16, Matt  wrote:
>> > It doesn't look like it. This is the log
>>
>> > INFO     2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is
>> > agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA
>> > Traceback (most recent call last):
>> >  File "C:\Python25\lib\logging\__init__.py", line 744, in emit
>> >    msg = self.format(record)
>> >  File "C:\Python25\lib\logging\__init__.py", line 630, in format
>> >    return fmt.format(record)
>> >  File "C:\Python25\lib\logging\__init__.py", line 418, in format
>> >    record.message = record.getMessage()
>> >  File "C:\Python25\lib\logging\__init__.py", line 288, in getMessage
>> >    msg = msg % self.args
>> > TypeError: int argument required
>> > INFO     2011-08-18 20:08:48,299 dev_appserver.py:4247] "POST / HTTP/
>> > 1.1" 200 -
>> > INFO     2011-08-18 20:08:48,456 dev_appserver.py:4247] "GET /
>> > numguess.css HTTP/1.1" 200 -
>>
>> > If that means anything I see a TypeError... maybe that's what is
>> > stopping the random number entity to be pulled back out?
>>
>> > Thanks again for the help.
>>
>> > On Aug 18, 11:07 am, Robert Kluin  wrote:
>> >> Hey Matt,
>> >>   Yeah there was a typo in my same code, should not have been:
>> >>     logging.info('Wrote answer, key is: %s', str(answer.key()))
>> >>   but rather:
>> >>     logging.info('Wrote answer, key is: %s', str(answer))
>>
>> >>   What that is telling you is that an answer entity was successfully
>> >> written.  So, now you know that the entity is getting written, what is
>> >> the next logging line?  Are you getting an entity back from the
>> >> datastore?
>>
>> >> Robert
>>
>> >> On Thu, Aug 18, 2011 at 12:33, Matt  wrote:
>> >> > Thanks for the heads up on logging.
>>
>> >> > I tried the logging but don't know if I did it right. For the first
>> >> > logging part in the code, I put:
>> >> > logging.info('Wrote answer, key is: %s', str(answer.key()))
>> >> > and it gave me this in the browser:
>> >> > AttributeError: 'Key' object has no attribute 'key'
>>
>> >> > I tried replacing key with ans but that gave the same error type.
>> >> > When I just put:
>> >> > logging.info('Wrote answer, key is: %s', str(answer))
>> >> > the log file comes with this:
>> >> > Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA
>>
>> >> > Am I doing something wrong or does this info mean anything? I honestly
>> >> > don't know what to make of it or what to change to get the random
>> >> > number in/out.. I feel like I am following what the docs say though.
>>
>> >> > On Aug 17, 10:19 pm, Robert Kluin  wrote:
>> >> >> Hi,
>> >> >>   You should check out the Python logging package, it is super handy.
>> >> >> Add some logging calls to your code so you can see what is happening.
>> >> >> For example:
>>
>> >> >>   import logging
>>
>> >> >>   def post(self):
>> >> >>     stguess = self.request.get('guess')
>> >> >>     if stguess == 'new':
>> >> >>       answer = Answer(ans = (random.randint(1, 100))).put()
>> >> >>       logging.info('Wrote answer, key is: %s', str(answer.key()))
>> >> >>       number = Answer.all().get()
>> >> >>       if number is not None:
>> >> >>         logging.info('Got answer, value is: %d', number.ans)
>> >> >>         answer = number.ans
>> >> >>       else:
>> >> >>         logging.info('Oh No! Got no answer!')
>> >> >>         answer = None
>> >> >>     else:
>> >> >>       logging.info('Doing nothing.')
>>
>> >> >> Robert
>>
>> >> >> On Wed, Aug 17, 2011 at 17:33, Matt  wrote:
>> >> >> > I am trying to pull an integer from the datastore but I keep getting
>> >> >> > None back. I store the integers here-
>>
>> >> >> > class Answer(db.Model):
>> >> >> >    ans = db.IntegerProperty()
>>
>> >> >> > As a test I did this -
>>
>> >> >> > def post(self):
>>

Re: [google-appengine] redirection to HTTPS is not working for Python app.yaml

2011-08-18 Thread Robert Kluin
Are you testing on the development server or production?







On Thu, Aug 18, 2011 at 16:43, thstart  wrote:
> to my Python app.yaml I added
> - url: /.*
>   script: main.py
>   secure: always
> BUT
> I don't get automatically redirected to the HTTPS
>
> What is wrong?
> According:
> http://code.google.com/appengine/docs/python/config/appconfig.html#Secure_URLs
>
> handlers:
>
> - url: /youraccount/.*
>   script: accounts.py
>   login: required
>   secure: always
>
> always. Requests for a URL that match this handler that do not use HTTPS are
> automatically redirected to the HTTPS URL with the same path. Query
> parameters are preserved for the redirect.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/3AK1D939P5sJ.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Enabling billing on appengine

2011-08-18 Thread Robert Kluin
Did your order ever show up?

If not, you might want to submit a billing issue:
  
http://code.google.com/support/bin/request.py?contact_type=AppEngineBillingSupport






On Thu, Aug 18, 2011 at 14:29, fedex1  wrote:
> Hi
> I tried to enable billing on appspot id: race-timing
> And I see this error:  And now appengine shows that billing will be enabled
> and billing changes cannot be made for 30 minutes, even though I don't see a
> google checkout order?  Can someone help or let me know that it will clear
> itself.  Thanks, Ralph
>
>   Browse stores »
> Error
> Purchase History  >  Error
> Help
>
> Oops!
> An error occurred while processing your request.
> To fix this issue:
> Try our quick troubleshooting tips -- users report these resolve most
> issues.
> Back to My Account
>
> Time when the error happened: 2011-08-18T18:20:25 (UTC) (4aacbb1d8)
>
>
>
> https://checkout.google.com/view/buy?o=shoppingcart&shoppingcart=974369501494940&pli=1
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/Y9DD8h5IpuoJ.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] static-error-handlers

2011-08-18 Thread Robert Kluin
Did you change the version number after redeploying?

Also, I've not looked at the headers, but have you cleared your cache?






On Wed, Aug 17, 2011 at 14:29, Berfunkle  wrote:
> I defined static-error-handlers (add element to appengine-web.xml file
> and added static html page) and it seemed to work fine but now I want
> to remove them. I tried removing it from the appengine-web.xml file
> and also removed the actual static html file but I am still getting
> the static page instead of the error page generated by App Engine. I
> deleted other versions of application but that did not help.
>
> Any thoughts would be appreciated.
>
> Thanks.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Channel API Sockets - Uni-Directional or Bi-Directional?

2011-08-18 Thread Robert Kluin
On Thu, Aug 18, 2011 at 13:46, eeejay  wrote:
> Question 1:  Is this the correct forum to ask question about Channel API
> (which I am intending to use in conjunction with Google App Engine).

Yes.

> Question 2: In the documentation for the Channel API it says:  "The
> JavaScript client opens a socket using the token provided by the server. It
> uses the socket to listen for updates on the channel."  However
> communication from the client to the server seems to be in the form of a
> POST.
> Are Channel API sockets truly uni-directional server-to-client?  Or is there
> a way for the client to communicate back via web socket?

No; server-to-client is implemented using long-polling.  The
client-to-server uses POST requests back to the server.


Robert

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Website Spam posing by appid: aking-741 using IP 64.233.172.1

2011-08-18 Thread Robert Kluin
On Thu, Aug 18, 2011 at 20:32, Murray W  wrote:
> What do you want to do, monitor a site and if some app is hitting it
> too frequently automatically report it to Google for abusing *your*
> ToS?

terms-of-service

>
> (Not sure what you mean by ToS, must be a AppEngine code word.)
> Actually I do monitor my site. Doesn't everyone today monitor
> for pharmaceutical spam, SQL injection attempts and your classical
> bruteforce attacks?

Probably.

> I'm not worry about an application hitting my sites. I see allot of good
> appid:'s . It's when an AppEngine application is used like an open proxy to
> spam sites. Then the scripts brings the hammer down.

Yes, I personally very much agree with you on this.  All of the proxy
sites on App Engine are extremely annoying, especially when they are
'spoofing' legitimate sites on App Engine.  Excellent setup for a
phishing attack.





> Aren't your applications a SaaS? (Software as a Service)
> Before you think, read what I have to say.
> If one of my sites picks up 20 or 30 spam posting attempts from a single
> AppEngine that's only my site. Add a few million other sites to the mix and
> your application just cost you a bundle in bandwidth to allow a spammer to
> use.  Not my bandwidth but your applications bandwidth.
> I've read the "DDoS" and "Reached Quota" forum posts and my guess it's just
> spammers. They tend to flock 50 or so at a time averaging from what I detect
> 2 to 5 posts per second.
> I'm thinking if you all found a way to either get live abuse reports or
> updates it might actually save you money.
> I'm just trying to help you all, but if you have it handled then I'll just
> watch the apps eat your bandwidth and get posted on popular blacklists.
> Today's list includes:
> appengine-google; (+http://code.google.com/appengine; appid: domaintraker)
> IP: 209.85.224.84
> Contents: http alonsoalic3 . splinder . com Percocet Dose (blah blah blah)
> It's only spam to me.
> I wonder how much bandwidth that app is costing:
> Remember, I'm only one in a million websites and it's clear I'm the only one
> to bring up an issue that is costing you money.
> The appid listed above was reported by one site I monitor:
> First seen: Report Date: 8/7/2011 4:32:41 AM last visited Report Date:
> 8/18/2011 1:33:25 AM
> Add 20 million and that's some good bandwidth for the appid: domaintraker.
> I'm sure there is a way to create a sub-routine to monitor POST / GET
> requests from your apps.
> I would believe that a "Human" wouldn't be sending "Post and Get" requests
> at 4 or more per second.
> I'd be glad to work with those that are willing to work on a application.
> I've opened up the NOC reports for visitors this week. You can find the
> Google IPs and Amazon listings. Look for the APPID: notice to see how often
> this happens.
>  XCtM Project v2
>
> Good luck and thanks for answering my questions.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/ZuOOAgJ6VuUJ.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] redirection to HTTPS is not working for Python app.yaml

2011-08-18 Thread Gopal Patel
as of now this only works on appspot domains. for custom domain, https is
still "coming soon".

On Fri, Aug 19, 2011 at 11:09 AM, Robert Kluin wrote:

> Are you testing on the development server or production?
>
>
>
>
>
>
>
> On Thu, Aug 18, 2011 at 16:43, thstart  wrote:
> > to my Python app.yaml I added
> > - url: /.*
> >   script: main.py
> >   secure: always
> > BUT
> > I don't get automatically redirected to the HTTPS
> >
> > What is wrong?
> > According:
> >
> http://code.google.com/appengine/docs/python/config/appconfig.html#Secure_URLs
> >
> > handlers:
> >
> > - url: /youraccount/.*
> >   script: accounts.py
> >   login: required
> >   secure: always
> >
> > always. Requests for a URL that match this handler that do not use HTTPS
> are
> > automatically redirected to the HTTPS URL with the same path. Query
> > parameters are preserved for the redirect.
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msg/google-appengine/-/3AK1D939P5sJ.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> > http://groups.google.com/group/google-appengine?hl=en.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.