[google-appengine] Why would .get() return something different when called twice in a row?

2008-12-18 Thread James

for t in things:

if not t.images.get():
 things.remove(t)

for t in things: print t.images.get()



Strangely enough, this is what gets printed:

model.image.Image object at 0x9d2daec
model.image.Image object at 0x9d2da0c
None
model.image.Image object at 0x9d2d1ec
model.image.Image object at 0x9d2da8c
model.image.Image object at 0x9d2d54c
None
model.image.Image object at 0x9d2decc
None
model.image.Image object at 0xa00282c




Images, in this case, is a collection name for an inverted index.

But this kind of error has never happened before. Am i overlooking
something blatant, or is the call returning something different when
called twice?

And yeah, I could define the variable once in a separate list and then
use a zip() procedure, but this still worries me.


--~--~-~--~~~---~--~~
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: Why would .get() return something different when called twice in a row?

2008-12-18 Thread James


for t in things:

t.images.get()

if not t.images.get():

things.remove(t)

The indent broke for the initial post...

On Dec 18, 12:33 am, James thelevybre...@gmail.com wrote:
                 for t in things:

                     if not t.images.get():
  things.remove(t)

                 for t in things: print t.images.get()

 Strangely enough, this is what gets printed:

 model.image.Image object at 0x9d2daec
 model.image.Image object at 0x9d2da0c
 None
 model.image.Image object at 0x9d2d1ec
 model.image.Image object at 0x9d2da8c
 model.image.Image object at 0x9d2d54c
 None
 model.image.Image object at 0x9d2decc
 None
 model.image.Image object at 0xa00282c

 Images, in this case, is a collection name for an inverted index.

 But this kind of error has never happened before. Am i overlooking
 something blatant, or is the call returning something different when
 called twice?

 And yeah, I could define the variable once in a separate list and then
 use a zip() procedure, but this still worries me.
--~--~-~--~~~---~--~~
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: Why would .get() return something different when called twice in a row?

2008-12-18 Thread James

Of course, it was easy to bypass this issue with a GQL query, but I'd
like to learn about why my intuition was wrong about this.


On Dec 18, 12:34 am, James thelevybre...@gmail.com wrote:
                 for t in things:

                     t.images.get()

                     if not t.images.get():

                         things.remove(t)

 The indent broke for the initial post...

 On Dec 18, 12:33 am, James thelevybre...@gmail.com wrote:

                  for t in things:

                      if not t.images.get():
   things.remove(t)

                  for t in things: print t.images.get()

  Strangely enough, this is what gets printed:

  model.image.Image object at 0x9d2daec
  model.image.Image object at 0x9d2da0c
  None
  model.image.Image object at 0x9d2d1ec
  model.image.Image object at 0x9d2da8c
  model.image.Image object at 0x9d2d54c
  None
  model.image.Image object at 0x9d2decc
  None
  model.image.Image object at 0xa00282c

  Images, in this case, is a collection name for an inverted index.

  But this kind of error has never happened before. Am i overlooking
  something blatant, or is the call returning something different when
  called twice?

  And yeah, I could define the variable once in a separate list and then
  use a zip() procedure, but this still worries me.


--~--~-~--~~~---~--~~
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] urlfetch, ApplicationError: 5

2008-12-18 Thread Sylvain

Hi,

My app is online since 5 months, but since fews days, I've got more
and more ApplicationError: 5 with the urlfetch API.

ApplicationError 5 is raised with this error : DEADLINE_EXCEEDED, but
the website my app fetches is fast and sometimes when I test this
API on http://shell.appspot.com/ :

 from google.appengine.api import urlfetch
 data = urlfetch.fetch(web_site)

this error is raised at once (no wait).

Is DEADLINE_EXCEEDED a kind of timeout ?
How long does it wait before raising this error ?

Regards

Sylvain
--~--~-~--~~~---~--~~
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] Was I scared too much with high cpu quota ?

2008-12-18 Thread Matija

This morning I did some final testing and because app engine team
introduced 'quota details' page with some more explanation in
http://code.google.com/appengine/docs/quotas.html link now I am
thinking that I created a little bit more complicated code than I
needed. Just because they introduced suggestion warnings in admin
console log with yellow and red colors plus some warning sign from the
beginning.

I am using app engine last half year and I have read almost every
article, watched every interesting video and constantly read app
engine group discussions. In the last half year every now and then
they explained more and more about high cpu quota, difference between
api cpu and our code cpu usage and difference in its presentation over
the admin console.

My final test was simple:

class Test(webapp.RequestHandler):

def get(self):
for i in range(200):
t = Testna(podatak = str(i))
t.put()

self.response.out.write('radi')

Results were like some religious revelation for me:

http://picasaweb.google.com/matija.jerkovic/GoogleAppEngine?authkey=9MVoK12s0SA#5281097404943213970
http://picasaweb.google.com/matija.jerkovic/GoogleAppEngine?authkey=9MVoK12s0SA#5281097405750931410

Although they stated over and over (not at the beginning but lately)
these results, I needed proof. And now I have it.

I will not be punished (in quota sense) for more than one datastore
write operation. During my test I had no high cpu quota usage. There
was some warning but I think that they are there when we are near 8s
limit per request, and when we break this limit, but even then this
was not counted as high cpu quota.

I understand contention problem and even user experience with too slow
response, but I will not be punished, temporary baned or something
like that.

This is so important for me because I mostly need more write operation
only for administrative purpose. Not 200 writes but let's say 10 or
20. With bigtable system we are creating super redundant datastore,
but when I need to correct (for some reason) that data, now I know
that I don't have to do this in thousand 'one write' operation step,
than in a 50 (or less) '20 write' operation request. If I do this when
there is low usage (night for example) I could even bypass some
contention problem.

Second reason was lack of model count ability. So when I needed to use
additional counter model with shard principle for avoiding contention
problem. But I needed two write operation. In my fear of 'punishment'
i did this in two connected ajax requests. If first request (write
operation) succeeded I will send second request to increment count.
With this approach I was under 1000 mcycles cpu usage (with datastore
api), but this also introduced new problems. What if second request
has not succeeded. What now.

Now I have wrong count data. With this more complicated approach I had
problem and even I have thought that app engine could not be used for
serious purpose where this discrepancy in data is not an option. Last
five years I was lead developer for hospital information system so you
can understand my fear for error data. Counting comments on web page,
poll data or something like data can have 99% precision but something
else can't. Of course I am not developing now something serious like
hospital information system but it takes time to switch from 100%
desktop application data to 99% web application data.

And now I have found out that this was not necessary and that I can
have 100% data precision in connection with user perception of
succeeded or not succeeded operation. I can have two, four, six or
more write operation in one request only if I stay under  8(or 9?)
seconds time request limit because contention can impact only on
request time limit.

All these high cpu fuss (in connection with write operations, of
course) were just design warnings and not some forcing statement.

Or am I wrong again ?
--~--~-~--~~~---~--~~
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: Mysterious change to ModelForms module?

2008-12-18 Thread bowman.jos...@gmail.com

Not sure, the only things I can think of is that I am doing other puts
to another model before that one? And also, I'm using db.Model not
db.Expando.

On Dec 18, 12:37 am, ryan ryanb+appeng...@google.com wrote:
 sorry for the trouble, and thanks for the detailed info! we definitely
 do want to figure out what's going on here.

 it doesn't seem quite as reproducible as get_or_insert() not working.
 for example, i just ran this inhttp://shell.appspot.com/:

  class NewKind(db.Expando):
   pass
  list(NewKind.all())
 []
  NewKind.get_or_insert('x')
  list(NewKind.all())

 [__main__.NewKind object at 0xf42e8100f27606b0] 
 NewKind.all().get().key().name()

 u'x'
--~--~-~--~~~---~--~~
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] Google Accounts down?

2008-12-18 Thread Aral Balkan

Is anyone else getting:

Sorry, there seems to be a problem. The service you're looking for is
temporarily unavailable. We're working hard to restore your access as
soon as possible. Please try again in a few hours. Thanks for your
patience.

While trying to sign in to their App Engine app?

Thanks,
Aral
--~--~-~--~~~---~--~~
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] Phone problems

2008-12-18 Thread Cody

I am trying to activate my phone, but cant.
I am using Google Apps Standard with the New Zealand, Telecom Mobile,
0275444990 or internationally +64275444990

Using the url: http://www.appspot.com/a/codynz.com, I then click
start, and then get sent to: http://appengine.google.com/permissions/smssend,
where I enter my international phone number, and get the error
message: The phone number has been sent too many messages or has
already been used to confirm an account.

I have used it with my GMail account as well, could this be the
problem??

--~--~-~--~~~---~--~~
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] SMS Issues + Form Broken

2008-12-18 Thread Ryan McCue

I just tried to submit an issue regarding SMS verification, however it
appears that form is also broken, so I'll reproduce it here:

Telstra is listed as one of your supported carriers, however if I
input my phone number (after selecting Other (Not Listed)), I get a
message saying:



There were errors:
* Mobile Number or Username



My phone number I'm trying to enter is +61 044760. I have tried
+61 044760, 61044760 and various other combinations,
however none work.

Thanks,
Ryan McCue.

--~--~-~--~~~---~--~~
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] Quota hit while using Bulk Upload to upload a small 40,000 record table

2008-12-18 Thread Tech Man

I hit the CPU quota after only uploading a few records.  Is there a
better way then using the Bulk Upload?

--~--~-~--~~~---~--~~
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] 18 hours of Over Quota, Dashboard and Quota Details indicate everything's fine

2008-12-18 Thread Ben Bishop

For the past 18 hours my app has been disabled with an Over Quota 403
error.

The Dashboard indicates everything's fine, CPU Time is barely
registering. The new Quota Details shows requests under 4%, everything
else around 0%, and no High CPU credits have been used.

Two and a half hours ago I redeployed to a new app slot to monitor
what's going on. It took 15 mins until the Over Quota error. Again,
Dashboard, Quota Details and Logs are not showing anything wrong.

This app has been running with traffic up until this point for nine
days without issue, and since the last deployment four days ago.

Anyone have any troubleshooting tips?

--~--~-~--~~~---~--~~
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] Dashboard - Logs, not all errors are logged?

2008-12-18 Thread Charles Yan

I'm trying to use the logs in the dashboard to debug my script. It's a
callback script so I can not debug it locally. I can output some
information by using logging.info(msg).
But sometimes the script just crashed, maybe syntax error or others, I
found that GAE logs only log the  exceptions, if there's other error,
for example: ImportError, it just display nothing.
It bring me a lot of trouble to guess what the error is.

Anyway to get through this? 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] Re: 18 hours of Over Quota, Dashboard and Quota Details indicate everything's fine

2008-12-18 Thread Thomas Johansson

Marcia is going to ask for your app id to look into it, so either mail
Marcia directly or post it here to speed things up. Having a site
offline is never fun.

Just out of curiosity, what kind of app is it?

On Dec 18, 3:57 pm, Ben Bishop leo...@gmail.com wrote:
 For the past 18 hours my app has been disabled with an Over Quota 403
 error.

 The Dashboard indicates everything's fine, CPU Time is barely
 registering. The new Quota Details shows requests under 4%, everything
 else around 0%, and no High CPU credits have been used.

 Two and a half hours ago I redeployed to a new app slot to monitor
 what's going on. It took 15 mins until the Over Quota error. Again,
 Dashboard, Quota Details and Logs are not showing anything wrong.

 This app has been running with traffic up until this point for nine
 days without issue, and since the last deployment four days ago.

 Anyone have any troubleshooting tips?
--~--~-~--~~~---~--~~
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: 18 hours of Over Quota, Dashboard and Quota Details indicate everything's fine

2008-12-18 Thread Marzia Niccolai
Hi,

Thomas is correct, with the app id I can investigate this issue further. In
general, in the off chance that the Quota details page is not helpful, the
logs may give some indication of what quota you might be bumping in to.  The
regex search is pretty useful, searching for quota or Quota.

-Marzia

On Thu, Dec 18, 2008 at 8:06 AM, Thomas Johansson prenc...@gmail.comwrote:


 Marcia is going to ask for your app id to look into it, so either mail
 Marcia directly or post it here to speed things up. Having a site
 offline is never fun.

 Just out of curiosity, what kind of app is it?

 On Dec 18, 3:57 pm, Ben Bishop leo...@gmail.com wrote:
  For the past 18 hours my app has been disabled with an Over Quota 403
  error.
 
  The Dashboard indicates everything's fine, CPU Time is barely
  registering. The new Quota Details shows requests under 4%, everything
  else around 0%, and no High CPU credits have been used.
 
  Two and a half hours ago I redeployed to a new app slot to monitor
  what's going on. It took 15 mins until the Over Quota error. Again,
  Dashboard, Quota Details and Logs are not showing anything wrong.
 
  This app has been running with traffic up until this point for nine
  days without issue, and since the last deployment four days ago.
 
  Anyone have any troubleshooting tips?
 


--~--~-~--~~~---~--~~
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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing

2008-12-18 Thread Marzia Niccolai
Hi,

Support for end-user uploading of large files (1MB) is definitely something
we are working on supporting.

-Marzia

On Wed, Dec 17, 2008 at 6:39 PM, James Ashley james.ash...@gmail.comwrote:


 Just for clarification:

 There seems, to me, to be a big distinction between support for large
 files (to me, that sounds like serving bigger files that I upload via
 appcfg) and supporting large files uploaded by end-users (which, to
 me, implies letting the web app store data in bigger BLOBs).

 It seems perfectly workable (if a nasty bit of coding) to treat the
 database BLOBs as a virtual file system, breaking a file into multiple
 chunks and streaming them back one at a time.  But actually uploading
 such a thing means getting over the 1 MB request limit.  Is that part
 of the plan?

 Thanks yet again,
 James

 On Dec 17, 11:47 am, Marzia Niccolai ma...@google.com wrote:
  Hi Brian,
 
  These two features (billing and large file uploads) are being worked on
  concurrently but their release dates are not tied together.  They both
 are
  on the roadmap for Q1, and are still on track for that time.  We haven't
 yet
  determined the maximum size for large files.
 
  -Marzia
 
  On Wed, Dec 17, 2008 at 4:40 AM, BrianJinwright br...@ifeets.com
 wrote:
 
   I agree it is possible in s3 just set the ACL of that bucket or
   object. I think yu Ping's question is a good one. When billing is
   opened up will can we store files larger than 1MB. If so, how large.
 
   Thanks,
   Brian Jinwright
 

 


--~--~-~--~~~---~--~~
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: urlfetch, ApplicationError: 5

2008-12-18 Thread Marzia Niccolai
Hi Sylvain,

The deadline for URLFetch requests is ~5 seconds.  Latency for the URLFetch
service as a whole seems to have been within normal ranges for the past
couple of days:
http://code.google.com/status/appengine

So I don't know any reason off hand why your site would not be returning
within the request deadline.

I think that shell.appspot.com may just appear to be returning immediately
because the call is fetching between the time that you press return and the
time that the call appears in the main terminal window.  The AJAX doesn't
display it in the main window until the call is complete, deadline exceeded
or not (at least this is the behavior I've observed when using shell for
URLFetches).

-Marzia

On Thu, Dec 18, 2008 at 1:33 AM, Sylvain sylvain.viv...@gmail.com wrote:


 Hi,

 My app is online since 5 months, but since fews days, I've got more
 and more ApplicationError: 5 with the urlfetch API.

 ApplicationError 5 is raised with this error : DEADLINE_EXCEEDED, but
 the website my app fetches is fast and sometimes when I test this
 API on http://shell.appspot.com/ :

  from google.appengine.api import urlfetch
  data = urlfetch.fetch(web_site)

 this error is raised at once (no wait).

 Is DEADLINE_EXCEEDED a kind of timeout ?
 How long does it wait before raising this error ?

 Regards

 Sylvain
 


--~--~-~--~~~---~--~~
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: Mysterious change to ModelForms module?

2008-12-18 Thread ryan

true. i was cheating because i know the datastore internals, so i know
what's relevant to problems like these and what isn't. Model vs.
Expando, for example, generally isn't relevant.

still, following your code much more closely, http://shell.appspot.com/
still doesn't reproduce this. odd.

 class TestModelA(db.Model):
  testval = db.StringProperty()
 class TestModelB(db.Model):
  testval = db.StringProperty()
 list(TestModelA.all())
[]
 list(TestModelB.all())
[]
 test1 = TestModelA(testval = Test put 1)
 test1.put()
datastore_types.Key.from_path('TestModelA', 72663L, _app=u'shell')
 test2 = TestModelB(testval = Test put 2)
 test2.put()
datastore_types.Key.from_path('TestModelB', 73462L, _app=u'shell')
 TestModelA().get_or_insert(goi_test, testval=get_or_insert test)
__main__.TestModelA object at 0x4a9988195796e710
 TestModelB().get_or_insert(goi_test2, testval=get_or_insert test 2)
__main__.TestModelB object at 0x386035de932ed718
 list(TestModelA.all())
[__main__.TestModelA object at 0xbad1185da0f83490,
__main__.TestModelA object at 0xbad1185da0f83550]
 list(TestModelB.all())
[__main__.TestModelB object at 0x4a9988195796e3d0,
__main__.TestModelB object at 0x4a9988195796e290]
--~--~-~--~~~---~--~~
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] DEADLINE Exceeded Messages ?!

2008-12-18 Thread Derrick

I am consistently getting Deadline exceeded messages.  The problem is
that my individual requests are trivial: do a query or two to
BigTable, serialize the results, and return them.

So, what could be causing these messages.  How are deadlines actually
measured on app engine?

In my case, I am sending a number (10-50) of requests in parallel.
Each individual request retrieves a single row in a table plus one or
two rows in related tables.

I would guess that that CPU time usage is measured by interrupting the
thread serving a request at regular intervals.   The question is, how
does this interrupt ascertain whether a CPU deadline has been
exceeded.

I hypothesize that when the poller wakes up, it checks to see which
application has the cpu, and adds a tick to the count for that user.
If the same application is using the CPU as the previous  time the
poller awoke, then the poller checks to see if the tick count exceeds
the deadline. If so, it initiates a deadline exceeded message and
terminates the request.

If this is the algorithm, then it is very problematic for me. Will
someone from the Google App Engine team explain to us the workings of
the Deadline measuring algorithm so that we can adjust our application
for work on the platform.

Also, could the problem have anything to do with indexing?  Our
queries are dirt simple: a single query parameter, so we do not
generate indices for them manually.
--~--~-~--~~~---~--~~
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: Dashboard - Logs, not all errors are logged?

2008-12-18 Thread Marzia Niccolai
Hi,

The logs should display all logging messages up to the point where the
script is crashing.  So any logging messages that would take place after the
crash point will not be logged.

If there is a syntax error, or something like that, there won't be any
logging messages, since the script never executes at all.

-Marzia

On Thu, Dec 18, 2008 at 8:02 AM, Charles Yan springri...@gmail.com wrote:


 I'm trying to use the logs in the dashboard to debug my script. It's a
 callback script so I can not debug it locally. I can output some
 information by using logging.info(msg).
 But sometimes the script just crashed, maybe syntax error or others, I
 found that GAE logs only log the  exceptions, if there's other error,
 for example: ImportError, it just display nothing.
 It bring me a lot of trouble to guess what the error is.

 Anyway to get through this? 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] maximum number of versions

2008-12-18 Thread bFlood

I keep getting this error when publishing:

Too Many Versions (403)
The application already has the maximum number of versions

when I checked the forum, the best advise was to up major version
number which I did (from 1 to 2). This worked for about an hour and
now I'm getting the same error again (and I can confirm that url's
sent via appcfg.py have the proper 2 in the version). I doubt my
version 2 has gone over the limit already so I'm thinking something
else is wrong

any suggestions? (besides going to V3)

appID: dev-arc2earth

cheers
brian
--~--~-~--~~~---~--~~
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: maximum number of versions

2008-12-18 Thread Marzia Niccolai
Hi,

Thanks for the info, I'm looking in to this now.

If anyone else is experiencing this, please let me know.

-Marzia

On Thu, Dec 18, 2008 at 11:14 AM, bFlood bflood...@gmail.com wrote:


 I keep getting this error when publishing:

 Too Many Versions (403)
 The application already has the maximum number of versions

 when I checked the forum, the best advise was to up major version
 number which I did (from 1 to 2). This worked for about an hour and
 now I'm getting the same error again (and I can confirm that url's
 sent via appcfg.py have the proper 2 in the version). I doubt my
 version 2 has gone over the limit already so I'm thinking something
 else is wrong

 any suggestions? (besides going to V3)

 appID: dev-arc2earth

 cheers
 brian
 


--~--~-~--~~~---~--~~
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: Mysterious change to ModelForms module?

2008-12-18 Thread bowman.jos...@gmail.com

I'd try taking my example on as a demo application. Some differences
are

1. You example below you to a put in TestModelB before the
get_or_insert. I believe in my example I found that this would work.
2. Everything in my example is happening in one request, whereas the
shell I believe you're ending up with each put/get_or_insert happening
per request. Not sure why that would matter, but I'm not fluent in the
internals, and any testing and research I can do is on the SDK, where
everything works correctly anyhow.

I did do my own test using the appshell, and my results were that it
worked correctly in that instance as well.

 class JoeTest1(db.Model):
  testval = db.StringProperty()
 class JoeTest2(db.Model):
  testval = db.StringProperty()
 list(JoeTest1.all())
[]
 list(JoeTest2.all())
[]
 test1 = JoeTest1(testval = test1)
 test1.put()
datastore_types.Key.from_path('JoeTest1', 72664L, _app=u'shell')
 test2 = JoeTest2.get_or_insert(x, testval = get_or_insert test)
 list(JoeTest1.all())
[__main__.JoeTest1 object at 0xdee1f6793dad2940]
 list(JoeTest2.all())
[__main__.JoeTest2 object at 0xb82607baa49b66c0]
 JoeTest1.all().get().key().name()
 JoeTest2.all().get().key().name()
u'x'

On Dec 18, 1:30 pm, ryan ryanb+appeng...@google.com wrote:
 true. i was cheating because i know the datastore internals, so i know
 what's relevant to problems like these and what isn't. Model vs.
 Expando, for example, generally isn't relevant.

 still, following your code much more closely,http://shell.appspot.com/
 still doesn't reproduce this. odd.

  class TestModelA(db.Model):

   testval = db.StringProperty() class TestModelB(db.Model):

   testval = db.StringProperty() list(TestModelA.all())
 []
  list(TestModelB.all())
 []
  test1 = TestModelA(testval = Test put 1)
  test1.put()

 datastore_types.Key.from_path('TestModelA', 72663L, _app=u'shell') test2 = 
 TestModelB(testval = Test put 2)
  test2.put()

 datastore_types.Key.from_path('TestModelB', 73462L, _app=u'shell') 
 TestModelA().get_or_insert(goi_test, testval=get_or_insert test)

 __main__.TestModelA object at 0x4a9988195796e710 
 TestModelB().get_or_insert(goi_test2, testval=get_or_insert test 2)

 __main__.TestModelB object at 0x386035de932ed718 list(TestModelA.all())

 [__main__.TestModelA object at 0xbad1185da0f83490,
 __main__.TestModelA object at 0xbad1185da0f83550] list(TestModelB.all())

 [__main__.TestModelB object at 0x4a9988195796e3d0,
 __main__.TestModelB object at 0x4a9988195796e290]
--~--~-~--~~~---~--~~
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: Mysterious change to ModelForms module?

2008-12-18 Thread bowman.jos...@gmail.com

Ah ha, Ryan, try this (unless I made a typo somewhere, for some reason
Chrome and that textbox don't like each other and I was too lazy to
change browsers). Note how I do the testa.put() and then the
JoeTestB.get_or_insert all in the same box, then I when I go to check
JoeTestB I can't. It looks like it really is the puts and
get_or_inserts all in the same execution string.

 class JoeTestA(db.Model):
  testval = db.StringProperty()
 class JoeTestB(db.Model):
  testval = db.StringProperty()
 testa = JoeTestA(testval = test A)
testa.put()
testb = JoeTestB.get_or_insert(x, test B)
 JoeTestB.all().get().key().name()
Traceback (most recent call last):
  File /base/data/home/apps/shell/1.30/shell.py, line 266, in get
exec compiled in statement_module.__dict__
  File string, line 1, in module
AttributeError: 'NoneType' object has no attribute 'key'

On Dec 18, 1:30 pm, ryan ryanb+appeng...@google.com wrote:
 true. i was cheating because i know the datastore internals, so i know
 what's relevant to problems like these and what isn't. Model vs.
 Expando, for example, generally isn't relevant.

 still, following your code much more closely,http://shell.appspot.com/
 still doesn't reproduce this. odd.

  class TestModelA(db.Model):

   testval = db.StringProperty() class TestModelB(db.Model):

   testval = db.StringProperty() list(TestModelA.all())
 []
  list(TestModelB.all())
 []
  test1 = TestModelA(testval = Test put 1)
  test1.put()

 datastore_types.Key.from_path('TestModelA', 72663L, _app=u'shell') test2 = 
 TestModelB(testval = Test put 2)
  test2.put()

 datastore_types.Key.from_path('TestModelB', 73462L, _app=u'shell') 
 TestModelA().get_or_insert(goi_test, testval=get_or_insert test)

 __main__.TestModelA object at 0x4a9988195796e710 
 TestModelB().get_or_insert(goi_test2, testval=get_or_insert test 2)

 __main__.TestModelB object at 0x386035de932ed718 list(TestModelA.all())

 [__main__.TestModelA object at 0xbad1185da0f83490,
 __main__.TestModelA object at 0xbad1185da0f83550] list(TestModelB.all())

 [__main__.TestModelB object at 0x4a9988195796e3d0,
 __main__.TestModelB object at 0x4a9988195796e290]
--~--~-~--~~~---~--~~
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: Mysterious change to ModelForms module?

2008-12-18 Thread Marzia Niccolai
Hi Joseph,

I uploaded your example to an application that I own (yo.appspot.com), and
it worked as expected.  So there must be something else going on here.  Have
you tried to query for the model using GQL in the Admin console, or are you
just relying on the kind drop down?  I'm curious to know if this might be
where the difference is.

-Marzia

On Thu, Dec 18, 2008 at 11:26 AM, bowman.jos...@gmail.com 
bowman.jos...@gmail.com wrote:


 I'd try taking my example on as a demo application. Some differences
 are

 1. You example below you to a put in TestModelB before the
 get_or_insert. I believe in my example I found that this would work.
 2. Everything in my example is happening in one request, whereas the
 shell I believe you're ending up with each put/get_or_insert happening
 per request. Not sure why that would matter, but I'm not fluent in the
 internals, and any testing and research I can do is on the SDK, where
 everything works correctly anyhow.

 I did do my own test using the appshell, and my results were that it
 worked correctly in that instance as well.

  class JoeTest1(db.Model):
  testval = db.StringProperty()
  class JoeTest2(db.Model):
  testval = db.StringProperty()
  list(JoeTest1.all())
 []
  list(JoeTest2.all())
 []
  test1 = JoeTest1(testval = test1)
  test1.put()
 datastore_types.Key.from_path('JoeTest1', 72664L, _app=u'shell')
  test2 = JoeTest2.get_or_insert(x, testval = get_or_insert test)
  list(JoeTest1.all())
 [__main__.JoeTest1 object at 0xdee1f6793dad2940]
  list(JoeTest2.all())
 [__main__.JoeTest2 object at 0xb82607baa49b66c0]
  JoeTest1.all().get().key().name()
  JoeTest2.all().get().key().name()
 u'x'

 On Dec 18, 1:30 pm, ryan 
 ryanb+appeng...@google.comryanb%2bappeng...@google.com
 wrote:
  true. i was cheating because i know the datastore internals, so i know
  what's relevant to problems like these and what isn't. Model vs.
  Expando, for example, generally isn't relevant.
 
  still, following your code much more closely,http://shell.appspot.com/
  still doesn't reproduce this. odd.
 
   class TestModelA(db.Model):
 
testval = db.StringProperty() class TestModelB(db.Model):
 
testval = db.StringProperty() list(TestModelA.all())
  []
   list(TestModelB.all())
  []
   test1 = TestModelA(testval = Test put 1)
   test1.put()
 
  datastore_types.Key.from_path('TestModelA', 72663L, _app=u'shell')
 test2 = TestModelB(testval = Test put 2)
   test2.put()
 
  datastore_types.Key.from_path('TestModelB', 73462L, _app=u'shell')
 TestModelA().get_or_insert(goi_test, testval=get_or_insert test)
 
  __main__.TestModelA object at 0x4a9988195796e710
 TestModelB().get_or_insert(goi_test2, testval=get_or_insert test 2)
 
  __main__.TestModelB object at 0x386035de932ed718
 list(TestModelA.all())
 
  [__main__.TestModelA object at 0xbad1185da0f83490,
  __main__.TestModelA object at 0xbad1185da0f83550]
 list(TestModelB.all())
 
  [__main__.TestModelB object at 0x4a9988195796e3d0,
  __main__.TestModelB object at 0x4a9988195796e290]
 


--~--~-~--~~~---~--~~
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: Mysterious change to ModelForms module?

2008-12-18 Thread bowman.jos...@gmail.com

I've been relying on the Kind drop down. The only other difference is
that I'm also working within a Django structure.

I did just do the test using a GQL query, and was able to pull up the
original FavoriteTeamsRanking that way. Though it's still not showing
up in the Kind dropdown.

On Dec 18, 2:30 pm, Marzia Niccolai ma...@google.com wrote:
 Hi Joseph,

 I uploaded your example to an application that I own (yo.appspot.com), and
 it worked as expected.  So there must be something else going on here.  Have
 you tried to query for the model using GQL in the Admin console, or are you
 just relying on the kind drop down?  I'm curious to know if this might be
 where the difference is.

 -Marzia

 On Thu, Dec 18, 2008 at 11:26 AM, bowman.jos...@gmail.com 

 bowman.jos...@gmail.com wrote:

  I'd try taking my example on as a demo application. Some differences
  are

  1. You example below you to a put in TestModelB before the
  get_or_insert. I believe in my example I found that this would work.
  2. Everything in my example is happening in one request, whereas the
  shell I believe you're ending up with each put/get_or_insert happening
  per request. Not sure why that would matter, but I'm not fluent in the
  internals, and any testing and research I can do is on the SDK, where
  everything works correctly anyhow.

  I did do my own test using the appshell, and my results were that it
  worked correctly in that instance as well.

   class JoeTest1(db.Model):
   testval = db.StringProperty()
   class JoeTest2(db.Model):
   testval = db.StringProperty()
   list(JoeTest1.all())
  []
   list(JoeTest2.all())
  []
   test1 = JoeTest1(testval = test1)
   test1.put()
  datastore_types.Key.from_path('JoeTest1', 72664L, _app=u'shell')
   test2 = JoeTest2.get_or_insert(x, testval = get_or_insert test)
   list(JoeTest1.all())
  [__main__.JoeTest1 object at 0xdee1f6793dad2940]
   list(JoeTest2.all())
  [__main__.JoeTest2 object at 0xb82607baa49b66c0]
   JoeTest1.all().get().key().name()
   JoeTest2.all().get().key().name()
  u'x'

  On Dec 18, 1:30 pm, ryan 
  ryanb+appeng...@google.comryanb%2bappeng...@google.com
  wrote:
   true. i was cheating because i know the datastore internals, so i know
   what's relevant to problems like these and what isn't. Model vs.
   Expando, for example, generally isn't relevant.

   still, following your code much more closely,http://shell.appspot.com/
   still doesn't reproduce this. odd.

class TestModelA(db.Model):

     testval = db.StringProperty() class TestModelB(db.Model):

     testval = db.StringProperty() list(TestModelA.all())
   []
list(TestModelB.all())
   []
test1 = TestModelA(testval = Test put 1)
test1.put()

   datastore_types.Key.from_path('TestModelA', 72663L, _app=u'shell')
  test2 = TestModelB(testval = Test put 2)
test2.put()

   datastore_types.Key.from_path('TestModelB', 73462L, _app=u'shell')
  TestModelA().get_or_insert(goi_test, testval=get_or_insert test)

   __main__.TestModelA object at 0x4a9988195796e710
  TestModelB().get_or_insert(goi_test2, testval=get_or_insert test 2)

   __main__.TestModelB object at 0x386035de932ed718
  list(TestModelA.all())

   [__main__.TestModelA object at 0xbad1185da0f83490,
   __main__.TestModelA object at 0xbad1185da0f83550]
  list(TestModelB.all())

   [__main__.TestModelB object at 0x4a9988195796e3d0,
   __main__.TestModelB object at 0x4a9988195796e290]
--~--~-~--~~~---~--~~
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] App name error ...

2008-12-18 Thread Webweave

When I try to create my app name with my company name (AccuWeaver), it
tells me An App or Google Account already exists with that name.

Now how is that possible, when that is my company name, and I'm the
only one with rights to that name ?

How do I find out who is using my company name where it impacts Google
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: Send and receive mail with embedded images

2008-12-18 Thread Jeff S

Hi Daniel,

It seems inline attachments with Content ID and MIME Multipart/Related
Content is not supported in the current mail API, but I think it would
be a good idea to file this as a feature request.

Happy coding,

Jeff

On Dec 17, 1:55 pm, Jeff S j...@google.com wrote:
 Ah I see. I'm not sure how to do this using the App Engine mail API
 either, I'll ask around.

 Thank you,

 Jeff

 On Dec 17, 11:41 am, Daniel Levin danile...@gmail.com wrote:



  Alexander,
   Yes, I do refer to the that method (inline attachment using CID). I did it
  before with PHP without any problem, very easy. Now I want to migrate to
  Google App Engine, and I don't see how to implement that.

     Any idea?

  Regards,
  Daniel Levin
--~--~-~--~~~---~--~~
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: App name error ...

2008-12-18 Thread Jesaja Everling

Hi!

This is due to the fact that App Engine apps share the gmail namespace.
That means that if you already have a gmail-account registered, you
cannot register an app with the same name.
For example, I couldn't register jeverling.

Best Regards,

Jesaja Everling

On Thu, Dec 18, 2008 at 8:52 PM, Webweave webwe...@gmail.com wrote:

 When I try to create my app name with my company name (AccuWeaver), it
 tells me An App or Google Account already exists with that name.

 Now how is that possible, when that is my company name, and I'm the
 only one with rights to that name ?

 How do I find out who is using my company name where it impacts Google
 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] Google Team: Please Make Django 1.0 A Higher Priority

2008-12-18 Thread Michael Angerman
Let me start out by saying that I think the App Engine is
an incredible product and has amazing potential.

I think the choice of Python and Django as the initial
release of the product were brilliant and really got
the job done.

I would like to hear from Google as to where they are REALLY
at with this product -- where they are going -- and how serious
they are about putting the necessary resources in place to make
this product a production reality.

As a person who watches the industry very closely, I don't really
see the effort in place that could be there to make this happen,
and NOT porting to Django 1.0 by this time is just ONE example
of kind of dropping the ball so to speak...

Again, I am on Google's side and want to see this product be
incredibly successful -- I am just extremely disappointed with the
execution so far...

For months, I have been anxiously awaiting Google to put
in the hard work to make the switch to Django 1.0 a reality.

Months ago, I had conversations with Paul McDonald regarding
this issue, and still nothing...  This is extremely disappointing.

In my mind, it shows Google's lack of serious commitment
to the App Engine.  Actions really do speak louder than words.

Another interesting note that people at Google should seriously
take a look at is the amount of traffic on this mail list.  It has dropped
off dramatically from the glory days and initial months of this product
release.

I am really baffled as to why Google didn't keep the momentum going,
you had such hype around this product -- and all you had to do was follow
through with execution...

The drop off in participation in this mail list is a direct sign
and correlation of the momentum slowing down...

Google, take the bull by the horns and re-ignite the user community
by delivering to us -- YOUR CUSTOMER -- what we want.

Django 1.0 is just one example of something the user community has
been anxiously asking for -- there are many other things...

Thank you for your continued support,

Sincerely,
Michael I Angerman
Albuquerque, New Mexico

-

Below are Marzia Niccolai's comments Dec 12 regarding this issue...

Marzia -- couple of comments

- this an incredibly weak public response

- this response COMPLETELY shows the lack of professionalism and commitment
on Google's part to deliver what it takes to make the App Engine a TRUE
reality that we as customers can count on to run a robust, professional
business on your platform.

- brake should be break
- seems likely -- this is a technical issue that HAS TO be worked out by
Google

I would say more here -- but if you read the words of this response closely,
its a reflection of many things that could be better...

Again, in summary -- I am not trying to be overly critical -- I am just
trying
to some how get some results -- and again Django 1.0 would be it...

--

Hi Alex,

We are definitely interested in offering Django 1.0 with App Engine in the
future.  However, it seems likely that including Django 1.0 as the default
Django version with App Engine would need to be part of an api version
change, since such a change would likely brake existing apps.

In terms of the high CPU warnings, we are generally working on a solution
that will lesson the affect of such warnings on applications, so we hope we
can address this soon not just for this case, but in general.

As for the time concern, there isn't much right now that can be done.  But
as your application increases in popularity, it's more likely people will
see an already warm interpreter and thus not have to wait for a new
initialization.

-Marzia

--~--~-~--~~~---~--~~
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: DEADLINE Exceeded Messages ?!

2008-12-18 Thread Marzia Niccolai
Hi Derrick,

What DeadlineExceedError message are you getting, there are a few different
deadlines you can run in to with App Engine.

The most common would be the request deadline.  Any given request with App
Engine must be completed within 10 seconds.  This is the runtime
DeadlineExceededError

Various APIs, like the datastore and URLFetch also have deadlines to ensure
that those calls return within the overall request deadline. If you are
running in to this deadline, you will get the
apiproxy_errors.DeadlineExceededError.

The problem shouldn't have anything to do with indexing, since simple
queries indexes are automatically generated, there is no need specify them
in the index.yaml (see this article:
http://code.google.com/appengine/articles/index_building.html)

From your description I can imagine the problem is either you are requesting
too much information from the datastore (running in to
apiproxy_errors.DeadlineExceededError) in one request.  The amount of data
you can return in a query will depend on the size and shape of your data,
but you can test this by reducing the amount of data you query for in one
call.

The other issue I can see is that you are just taking too long to return the
entire request.  This probably happens because it takes too long to process
all of your results before the request deadline.

Generally in such a case we'd suggest profiling your application which will
indicate on which calls, and for how long, your app spends it's time.  Some
good information on profiling can be found in our FAQ:
http://code.google.com/appengine/kb/commontasks.html#profiling
Screencast:
Optimizing Your App: Profiling and Memcache
http://www.youtube.com/watch?v=Zip1G6-NiMM
And the Google I/O talk 'Building a Production Quality Application on Google
App Engine:
http://sites.google.com/site/io/best-practices---building-a-production-quality-application-on-google-app-engine

-Marzia

On Thu, Dec 18, 2008 at 10:39 AM, Derrick derrickrbu...@gmail.com wrote:


 I am consistently getting Deadline exceeded messages.  The problem is
 that my individual requests are trivial: do a query or two to
 BigTable, serialize the results, and return them.

 So, what could be causing these messages.  How are deadlines actually
 measured on app engine?

 In my case, I am sending a number (10-50) of requests in parallel.
 Each individual request retrieves a single row in a table plus one or
 two rows in related tables.

 I would guess that that CPU time usage is measured by interrupting the
 thread serving a request at regular intervals.   The question is, how
 does this interrupt ascertain whether a CPU deadline has been
 exceeded.

 I hypothesize that when the poller wakes up, it checks to see which
 application has the cpu, and adds a tick to the count for that user.
 If the same application is using the CPU as the previous  time the
 poller awoke, then the poller checks to see if the tick count exceeds
 the deadline. If so, it initiates a deadline exceeded message and
 terminates the request.

 If this is the algorithm, then it is very problematic for me. Will
 someone from the Google App Engine team explain to us the workings of
 the Deadline measuring algorithm so that we can adjust our application
 for work on the platform.

 Also, could the problem have anything to do with indexing?  Our
 queries are dirt simple: a single query parameter, so we do not
 generate indices for them manually.
 


--~--~-~--~~~---~--~~
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: Google Team: Please Make Django 1.0 A Higher Priority

2008-12-18 Thread bowman.jos...@gmail.com

I see nothing wrong with Marzia's response. The move from 0.96 to 1.0
does in fact break things. Having the change made underneath you
without time to prepare and make migration changes will break lots of
peoples applications.

Check out appengine patch. I'm using it and Django 1.0 because of it
with 0 problems. Django runs well from a zip package with it. They are
doing the responsible thing here, and your accusations about lack of
professionalism are completely outlandish.

On Dec 18, 3:06 pm, Michael Angerman zrol...@gmail.com wrote:
 Let me start out by saying that I think the App Engine is
 an incredible product and has amazing potential.

 I think the choice of Python and Django as the initial
 release of the product were brilliant and really got
 the job done.

 I would like to hear from Google as to where they are REALLY
 at with this product -- where they are going -- and how serious
 they are about putting the necessary resources in place to make
 this product a production reality.

 As a person who watches the industry very closely, I don't really
 see the effort in place that could be there to make this happen,
 and NOT porting to Django 1.0 by this time is just ONE example
 of kind of dropping the ball so to speak...

 Again, I am on Google's side and want to see this product be
 incredibly successful -- I am just extremely disappointed with the
 execution so far...

 For months, I have been anxiously awaiting Google to put
 in the hard work to make the switch to Django 1.0 a reality.

 Months ago, I had conversations with Paul McDonald regarding
 this issue, and still nothing...  This is extremely disappointing.

 In my mind, it shows Google's lack of serious commitment
 to the App Engine.  Actions really do speak louder than words.

 Another interesting note that people at Google should seriously
 take a look at is the amount of traffic on this mail list.  It has dropped
 off dramatically from the glory days and initial months of this product
 release.

 I am really baffled as to why Google didn't keep the momentum going,
 you had such hype around this product -- and all you had to do was follow
 through with execution...

 The drop off in participation in this mail list is a direct sign
 and correlation of the momentum slowing down...

 Google, take the bull by the horns and re-ignite the user community
 by delivering to us -- YOUR CUSTOMER -- what we want.

 Django 1.0 is just one example of something the user community has
 been anxiously asking for -- there are many other things...

 Thank you for your continued support,

 Sincerely,
 Michael I Angerman
 Albuquerque, New Mexico

 -

 Below are Marzia Niccolai's comments Dec 12 regarding this issue...

 Marzia -- couple of comments

 - this an incredibly weak public response

 - this response COMPLETELY shows the lack of professionalism and commitment
 on Google's part to deliver what it takes to make the App Engine a TRUE
 reality that we as customers can count on to run a robust, professional
 business on your platform.

 - brake should be break
 - seems likely -- this is a technical issue that HAS TO be worked out by
 Google

 I would say more here -- but if you read the words of this response closely,
 its a reflection of many things that could be better...

 Again, in summary -- I am not trying to be overly critical -- I am just
 trying
 to some how get some results -- and again Django 1.0 would be it...

 --

 Hi Alex,

 We are definitely interested in offering Django 1.0 with App Engine in the
 future.  However, it seems likely that including Django 1.0 as the default
 Django version with App Engine would need to be part of an api version
 change, since such a change would likely brake existing apps.

 In terms of the high CPU warnings, we are generally working on a solution
 that will lesson the affect of such warnings on applications, so we hope we
 can address this soon not just for this case, but in general.

 As for the time concern, there isn't much right now that can be done.  But
 as your application increases in popularity, it's more likely people will
 see an already warm interpreter and thus not have to wait for a new
 initialization.

 -Marzia
--~--~-~--~~~---~--~~
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] djangoforms unicode error

2008-12-18 Thread JMJ

Using djangoforms with unicode strings like that:

class Entidade(db.Model):
  nome=db.StringProperty(multiline=False)
  tipo=db.StringProperty(multiline=False,choices=set([Pessoa
Física,Pessoa Jurídica]))

class FormEntidade(djangoforms.ModelForm):
  class Meta:
model=Entidade

Gives me an error like that below. Is this a bug or a limitation of
Django version in GAE?

Thank you.

type 'exceptions.UnicodeDecodeError'
.
.
.
e:\google_appengine\google\appengine\ext\db\djangoforms.py in
get_form_field(self=google.appengine.ext.db.StringProperty object at
0x0176F070, form_class=class 'django.newforms.fields.CharField',
**kwargs={})
  163 choices.append(('', '-'))
  164   for choice in self.choices:
  165 choices.append((str(choice), unicode(choice)))
  166   defaults['widget'] = forms.Select(choices=choices)
  167 if self.default is not None:
choices = [('', '-')], choices.append = built-in method
append of list object at 0x0182D198, builtin str = type 'str',
choice = 'Pessoa F\xc3\xadsica', builtin unicode = type 'unicode'

type 'exceptions.UnicodeDecodeError': 'ascii' codec can't decode
byte 0xc3 in position 8: ordinal not in range(128)
  args = ('ascii', 'Pessoa F\xc3\xadsica', 8, 9, 'ordinal not in
range(128)')
  encoding = 'ascii'
  end = 9
  message = ''
  object = 'Pessoa F\xc3\xadsica'
  reason = 'ordinal not in range(128)'
  start = 8
--~--~-~--~~~---~--~~
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: Google Team: Please Make Django 1.0 A Higher Priority

2008-12-18 Thread Michael Angerman
Agreed, my comments were over the top and

Marzia I apologize for being overly critical.

You are helping us (the developer) and the App Engine,
its not your fault that more resources from Google are not being deployed
just incredibly frustrating

that Django 1.0 was released on Sep 3, 2008,
and here we are December 18, 2008.

Django 1.0 needs to be rolled out in GAE
and a solution of how to deal with this upgrade
is technically feasible and should be addressed quickly...

On Thu, Dec 18, 2008 at 12:15 PM, bowman.jos...@gmail.com 
bowman.jos...@gmail.com wrote:


 I see nothing wrong with Marzia's response. The move from 0.96 to 1.0
 does in fact break things. Having the change made underneath you
 without time to prepare and make migration changes will break lots of
 peoples applications.

 Check out appengine patch. I'm using it and Django 1.0 because of it
 with 0 problems. Django runs well from a zip package with it. They are
 doing the responsible thing here, and your accusations about lack of
 professionalism are completely outlandish.

 On Dec 18, 3:06 pm, Michael Angerman zrol...@gmail.com wrote:
  Let me start out by saying that I think the App Engine is
  an incredible product and has amazing potential.
 
  I think the choice of Python and Django as the initial
  release of the product were brilliant and really got
  the job done.
 
  I would like to hear from Google as to where they are REALLY
  at with this product -- where they are going -- and how serious
  they are about putting the necessary resources in place to make
  this product a production reality.
 
  As a person who watches the industry very closely, I don't really
  see the effort in place that could be there to make this happen,
  and NOT porting to Django 1.0 by this time is just ONE example
  of kind of dropping the ball so to speak...
 
  Again, I am on Google's side and want to see this product be
  incredibly successful -- I am just extremely disappointed with the
  execution so far...
 
  For months, I have been anxiously awaiting Google to put
  in the hard work to make the switch to Django 1.0 a reality.
 
  Months ago, I had conversations with Paul McDonald regarding
  this issue, and still nothing...  This is extremely disappointing.
 
  In my mind, it shows Google's lack of serious commitment
  to the App Engine.  Actions really do speak louder than words.
 
  Another interesting note that people at Google should seriously
  take a look at is the amount of traffic on this mail list.  It has
 dropped
  off dramatically from the glory days and initial months of this product
  release.
 
  I am really baffled as to why Google didn't keep the momentum going,
  you had such hype around this product -- and all you had to do was follow
  through with execution...
 
  The drop off in participation in this mail list is a direct sign
  and correlation of the momentum slowing down...
 
  Google, take the bull by the horns and re-ignite the user community
  by delivering to us -- YOUR CUSTOMER -- what we want.
 
  Django 1.0 is just one example of something the user community has
  been anxiously asking for -- there are many other things...
 
  Thank you for your continued support,
 
  Sincerely,
  Michael I Angerman
  Albuquerque, New Mexico
 
  -
 
  Below are Marzia Niccolai's comments Dec 12 regarding this issue...
 
  Marzia -- couple of comments
 
  - this an incredibly weak public response
 
  - this response COMPLETELY shows the lack of professionalism and
 commitment
  on Google's part to deliver what it takes to make the App Engine a TRUE
  reality that we as customers can count on to run a robust, professional
  business on your platform.
 
  - brake should be break
  - seems likely -- this is a technical issue that HAS TO be worked out by
  Google
 
  I would say more here -- but if you read the words of this response
 closely,
  its a reflection of many things that could be better...
 
  Again, in summary -- I am not trying to be overly critical -- I am just
  trying
  to some how get some results -- and again Django 1.0 would be it...
 
  --
 
  Hi Alex,
 
  We are definitely interested in offering Django 1.0 with App Engine in
 the
  future.  However, it seems likely that including Django 1.0 as the
 default
  Django version with App Engine would need to be part of an api version
  change, since such a change would likely brake existing apps.
 
  In terms of the high CPU warnings, we are generally working on a solution
  that will lesson the affect of such warnings on applications, so we hope
 we
  can address this soon not just for this case, but in general.
 
  As for the time concern, there isn't much right now that can be done.
  But
  as your application increases in popularity, it's more likely people will
  see an already warm interpreter and thus not have to wait for a new
  initialization.
 
  

[google-appengine] Re: DEADLINE Exceeded Messages ?!

2008-12-18 Thread Derrick

I am getting class 'google.appengine.runtime.DeadlineExceededError'

On Dec 18, 12:12 pm, Marzia Niccolai ma...@google.com wrote:
 Hi Derrick,

 What DeadlineExceedError message are you getting, there are a few different
 deadlines you can run in to with App Engine.

 The most common would be the request deadline.  Any given request with App
 Engine must be completed within 10 seconds.  This is the runtime
 DeadlineExceededError

 Various APIs, like the datastore and URLFetch also have deadlines to ensure
 that those calls return within the overall request deadline. If you are
 running in to this deadline, you will get the
 apiproxy_errors.DeadlineExceededError.

 The problem shouldn't have anything to do with indexing, since simple
 queries indexes are automatically generated, there is no need specify them
 in the index.yaml (see this 
 article:http://code.google.com/appengine/articles/index_building.html)

 From your description I can imagine the problem is either you are requesting
 too much information from the datastore (running in to
 apiproxy_errors.DeadlineExceededError) in one request.  The amount of data
 you can return in a query will depend on the size and shape of your data,
 but you can test this by reducing the amount of data you query for in one
 call.

 The other issue I can see is that you are just taking too long to return the
 entire request.  This probably happens because it takes too long to process
 all of your results before the request deadline.

 Generally in such a case we'd suggest profiling your application which will
 indicate on which calls, and for how long, your app spends it's time.  Some
 good information on profiling can be found in our 
 FAQ:http://code.google.com/appengine/kb/commontasks.html#profiling
 Screencast:
 Optimizing Your App: Profiling and 
 Memcachehttp://www.youtube.com/watch?v=Zip1G6-NiMM
 And the Google I/O talk 'Building a Production Quality Application on Google
 App 
 Engine:http://sites.google.com/site/io/best-practices---building-a-productio...

 -Marzia

 On Thu, Dec 18, 2008 at 10:39 AM, Derrick derrickrbu...@gmail.com wrote:

  I am consistently getting Deadline exceeded messages.  The problem is
  that my individual requests are trivial: do a query or two to
  BigTable, serialize the results, and return them.

  So, what could be causing these messages.  How are deadlines actually
  measured on app engine?

  In my case, I am sending a number (10-50) of requests in parallel.
  Each individual request retrieves a single row in a table plus one or
  two rows in related tables.

  I would guess that that CPU time usage is measured by interrupting the
  thread serving a request at regular intervals.   The question is, how
  does this interrupt ascertain whether a CPU deadline has been
  exceeded.

  I hypothesize that when the poller wakes up, it checks to see which
  application has the cpu, and adds a tick to the count for that user.
  If the same application is using the CPU as the previous  time the
  poller awoke, then the poller checks to see if the tick count exceeds
  the deadline. If so, it initiates a deadline exceeded message and
  terminates the request.

  If this is the algorithm, then it is very problematic for me. Will
  someone from the Google App Engine team explain to us the workings of
  the Deadline measuring algorithm so that we can adjust our application
  for work on the platform.

  Also, could the problem have anything to do with indexing?  Our
  queries are dirt simple: a single query parameter, so we do not
  generate indices for them manually.
--~--~-~--~~~---~--~~
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: Google Team: Please Make Django 1.0 A Higher Priority

2008-12-18 Thread Roberto Saccon

Michael, you are making some noise about silly thing like release
dates, but you missed to bring in good arguments why the latest django
is so important and what is wrong with the current practice of using
zipped custom django.

regards
Roberto


On Dec 18, 5:38 pm, Michael Angerman zrol...@gmail.com wrote:
 Agreed, my comments were over the top and

 Marzia I apologize for being overly critical.

 You are helping us (the developer) and the App Engine,
 its not your fault that more resources from Google are not being deployed
 just incredibly frustrating

 that Django 1.0 was released on Sep 3, 2008,
 and here we are December 18, 2008.

 Django 1.0 needs to be rolled out in GAE
 and a solution of how to deal with this upgrade
 is technically feasible and should be addressed quickly...

 On Thu, Dec 18, 2008 at 12:15 PM, bowman.jos...@gmail.com 

 bowman.jos...@gmail.com wrote:

  I see nothing wrong with Marzia's response. The move from 0.96 to 1.0
  does in fact break things. Having the change made underneath you
  without time to prepare and make migration changes will break lots of
  peoples applications.

  Check out appengine patch. I'm using it and Django 1.0 because of it
  with 0 problems. Django runs well from a zip package with it. They are
  doing the responsible thing here, and your accusations about lack of
  professionalism are completely outlandish.

  On Dec 18, 3:06 pm, Michael Angerman zrol...@gmail.com wrote:
   Let me start out by saying that I think the App Engine is
   an incredible product and has amazing potential.

   I think the choice of Python and Django as the initial
   release of the product were brilliant and really got
   the job done.

   I would like to hear from Google as to where they are REALLY
   at with this product -- where they are going -- and how serious
   they are about putting the necessary resources in place to make
   this product a production reality.

   As a person who watches the industry very closely, I don't really
   see the effort in place that could be there to make this happen,
   and NOT porting to Django 1.0 by this time is just ONE example
   of kind of dropping the ball so to speak...

   Again, I am on Google's side and want to see this product be
   incredibly successful -- I am just extremely disappointed with the
   execution so far...

   For months, I have been anxiously awaiting Google to put
   in the hard work to make the switch to Django 1.0 a reality.

   Months ago, I had conversations with Paul McDonald regarding
   this issue, and still nothing...  This is extremely disappointing.

   In my mind, it shows Google's lack of serious commitment
   to the App Engine.  Actions really do speak louder than words.

   Another interesting note that people at Google should seriously
   take a look at is the amount of traffic on this mail list.  It has
  dropped
   off dramatically from the glory days and initial months of this product
   release.

   I am really baffled as to why Google didn't keep the momentum going,
   you had such hype around this product -- and all you had to do was follow
   through with execution...

   The drop off in participation in this mail list is a direct sign
   and correlation of the momentum slowing down...

   Google, take the bull by the horns and re-ignite the user community
   by delivering to us -- YOUR CUSTOMER -- what we want.

   Django 1.0 is just one example of something the user community has
   been anxiously asking for -- there are many other things...

   Thank you for your continued support,

   Sincerely,
   Michael I Angerman
   Albuquerque, New Mexico

   -

   Below are Marzia Niccolai's comments Dec 12 regarding this issue...

   Marzia -- couple of comments

   - this an incredibly weak public response

   - this response COMPLETELY shows the lack of professionalism and
  commitment
   on Google's part to deliver what it takes to make the App Engine a TRUE
   reality that we as customers can count on to run a robust, professional
   business on your platform.

   - brake should be break
   - seems likely -- this is a technical issue that HAS TO be worked out by
   Google

   I would say more here -- but if you read the words of this response
  closely,
   its a reflection of many things that could be better...

   Again, in summary -- I am not trying to be overly critical -- I am just
   trying
   to some how get some results -- and again Django 1.0 would be it...

   --

   Hi Alex,

   We are definitely interested in offering Django 1.0 with App Engine in
  the
   future.  However, it seems likely that including Django 1.0 as the
  default
   Django version with App Engine would need to be part of an api version
   change, since such a change would likely brake existing apps.

   In terms of the high CPU warnings, we are generally working on a solution
   that will lesson 

[google-appengine] Re: Google Team: Please Make Django 1.0 A Higher Priority

2008-12-18 Thread Greg

I can understand the frustration when there seems to be little
movement on something that is important to you (Django 1.0 in your
case). You'll have noticed that the app engine team (and Google
generally) are very careful not to provide deadlines, which is a sign
of a development process managed by developers. Deadlines are usually
arbitrary dates set by sales managers who don't understand that
software development is lumpy.

Google's other problem is that everyone wants something different.
Many people seem to want a simple LAMP replacement, java, SSL, bare
domains, billing (an end to quotas)... oh yes, and Django 1.0! Given
they have limited resources, I think their solution (the star driven
issue list) is a fair solution, and again smacks of a developer-driven
process.

So if what you want is firm deadlines (resulting in buggy compromised
solutions) and development priorities set by a suit (who absolutely
won't understand the difference between Django versions), I think you
might want to try the cloud service from the other crowd (the one that
makes buggy compromised operating systems too ;).

Your point about chatter on this list is true - it also occurred to me
the other day. My guess is that Google are waiting to see how
Appengine is received before pumping lots of cash into promoting and
developing it. If you like the model (I do *a lot*) then develop
successful apps on it and publicise them - show the world that
Appengine is an excellent platform. That'll give Google the confidence
to invest in it's continued existence.
--~--~-~--~~~---~--~~
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] Sending same email to about 200 different TO adresses fails

2008-12-18 Thread stelg

I am sending 1 email  to about 200 persons using a loop

De email text is evrytame teh same, the TO address is derived from a
Bigtable entity.
I store each email separately.

Strange enough sometimes i have 10 or 20 adresses receiving the email,
but not all. I do have a try: except around it so failures should be
skipped.

The program is not over the CPU limiets and nothing in the logs. It
looks to me that everything is fine, but the emails are in
cyberspace

I tried to use BCC but that does not work.
I am not spamming. We are a foundation with about 250 registered
members who have been victum to fraude. We organised ourselves through
Google App Engine!
regards


Any help our a working example for a loop of emails so taht i can
verify my code would be helpful. I am sitting now behind another PC so
i cannot post code yet
Stelg

--~--~-~--~~~---~--~~
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: dynamic kind and problem when restarting the server

2008-12-18 Thread riq

 The NewKind class must be defined before accessing entities of that kind.

Thanks. That make sense.

I have another question.
What I want to do is this:

I'm building a generic 'High Score Server'. So probably there will be
10 or 20 games hosted in this server.
But each game has different things to save.
eg:
  Pacman:  Score (integer),  Level(integer),  Name(string)
  Outrun:Score (float),  Name(string),  used card (integer)
  Olympics - Hurdles:  Score (float), character used (integer),
hurdles_jumped_correctly (integer)
etc...

My initial approach was: 'I need to create a table for each game, and
these table can be customized by the create of the game with CREATE
TABLE, ALTER TABLE'.

So, my question is, what's the best approach to implement that with
the Google App Engine framework ?

Thanks,

riq.
--~--~-~--~~~---~--~~
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: DEADLINE Exceeded Messages ?!

2008-12-18 Thread Derrick

Here is what I get from the profile of a query that does not exceed
the deadline, but comes close:

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
15/130.2990.0201.0180.078 {__import__}
   160.2170.0140.2350.015
{google3.apphosting.runtime._apphosting_runtime___python__apiproxy.Wait}

Does this mean that I am making 16 datastore requests and that I need
to cut down on the number of such requests?

On Dec 18, 1:13 pm, Marzia Niccolai ma...@google.com wrote:
 This means your app is taking more than 10 seconds to respond to a request.
 Try processing less data per request, or work on streamlining the way that
 you process the data during a request.

 -Marzia

 On Thu, Dec 18, 2008 at 12:48 PM, Derrick derrickrbu...@gmail.com wrote:

  I am getting class 'google.appengine.runtime.DeadlineExceededError'

  On Dec 18, 12:12 pm, Marzia Niccolai ma...@google.com wrote:
   Hi Derrick,

   What DeadlineExceedError message are you getting, there are a few
  different
   deadlines you can run in to with App Engine.

   The most common would be the request deadline.  Any given request with
  App
   Engine must be completed within 10 seconds.  This is the runtime
   DeadlineExceededError

   Various APIs, like the datastore and URLFetch also have deadlines to
  ensure
   that those calls return within the overall request deadline. If you are
   running in to this deadline, you will get the
   apiproxy_errors.DeadlineExceededError.

   The problem shouldn't have anything to do with indexing, since simple
   queries indexes are automatically generated, there is no need specify
  them
   in the index.yaml (see this article:
 http://code.google.com/appengine/articles/index_building.html)

   From your description I can imagine the problem is either you are
  requesting
   too much information from the datastore (running in to
   apiproxy_errors.DeadlineExceededError) in one request.  The amount of
  data
   you can return in a query will depend on the size and shape of your data,
   but you can test this by reducing the amount of data you query for in one
   call.

   The other issue I can see is that you are just taking too long to return
  the
   entire request.  This probably happens because it takes too long to
  process
   all of your results before the request deadline.

   Generally in such a case we'd suggest profiling your application which
  will
   indicate on which calls, and for how long, your app spends it's time.
   Some
   good information on profiling can be found in our FAQ:
 http://code.google.com/appengine/kb/commontasks.html#profiling
   Screencast:
   Optimizing Your App: Profiling and Memcachehttp://
 www.youtube.com/watch?v=Zip1G6-NiMM
   And the Google I/O talk 'Building a Production Quality Application on
  Google
   App Engine:
 http://sites.google.com/site/io/best-practices---building-a-productio...

   -Marzia

   On Thu, Dec 18, 2008 at 10:39 AM, Derrick derrickrbu...@gmail.com
  wrote:

I am consistently getting Deadline exceeded messages.  The problem is
that my individual requests are trivial: do a query or two to
BigTable, serialize the results, and return them.

So, what could be causing these messages.  How are deadlines actually
measured on app engine?

In my case, I am sending a number (10-50) of requests in parallel.
Each individual request retrieves a single row in a table plus one or
two rows in related tables.

I would guess that that CPU time usage is measured by interrupting the
thread serving a request at regular intervals.   The question is, how
does this interrupt ascertain whether a CPU deadline has been
exceeded.

I hypothesize that when the poller wakes up, it checks to see which
application has the cpu, and adds a tick to the count for that user.
If the same application is using the CPU as the previous  time the
poller awoke, then the poller checks to see if the tick count exceeds
the deadline. If so, it initiates a deadline exceeded message and
terminates the request.

If this is the algorithm, then it is very problematic for me. Will
someone from the Google App Engine team explain to us the workings of
the Deadline measuring algorithm so that we can adjust our application
for work on the platform.

Also, could the problem have anything to do with indexing?  Our
queries are dirt simple: a single query parameter, so we do not
generate indices for them manually.
--~--~-~--~~~---~--~~
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] Over Quota - seems like for no reason

2008-12-18 Thread dk

My app is showsing as Over Quota and has been for hours.  The
dashboard shows basically no activity all day (maybe 50 requests)

I suspected a possible  problem with high cpu but I don't even have a
single high cpu warning in the logs today.

Please help!

-dk
--~--~-~--~~~---~--~~
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: Over Quota - seems like for no reason

2008-12-18 Thread Marzia Niccolai
Hi,

For which app id are you experiencing this?

-Marzia

On Thu, Dec 18, 2008 at 2:41 PM, dk davemk...@gmail.com wrote:


 My app is showsing as Over Quota and has been for hours.  The
 dashboard shows basically no activity all day (maybe 50 requests)

 I suspected a possible  problem with high cpu but I don't even have a
 single high cpu warning in the logs today.

 Please help!

 -dk
 


--~--~-~--~~~---~--~~
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: App name error ...

2008-12-18 Thread Webweave

So there's somebody out there using my company name as a gmail
account 

On Dec 18, 11:59 am, Jesaja Everling jeverl...@gmail.com wrote:
 Hi!

 This is due to the fact that App Engine apps share the gmail namespace.
 That means that if you already have a gmail-account registered, you
 cannot register an app with the same name.
 For example, I couldn't register jeverling.

 Best Regards,

 Jesaja Everling

 On Thu, Dec 18, 2008 at 8:52 PM, Webweave webwe...@gmail.com wrote:

  When I try to create my app name with my company name (AccuWeaver), it
  tells me An App or Google Account already exists with that name.

  Now how is that possible, when that is my company name, and I'm the
  only one with rights to that name ?

  How do I find out who is using my company name where it impacts Google
  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] Having problems starting up the app server itself, please help me!

2008-12-18 Thread Cody

I am having trouble trying to start the app server, I am using Python
2.5 on Windows XP SP3, and am trying to start it with the command:
dev_appserver.py helloworld.every time the error seems to be
different, but the command window just closes and doesnt bind to
localhost:8080.

Any help would be appreciated.
Thanks,
--Cody
--~--~-~--~~~---~--~~
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: SMS Issues + Form Broken

2008-12-18 Thread Alexander Kojevnikov

 I just tried to submit an issue regarding SMS verification, however it
 appears that form is also broken, so I'll reproduce it here:

 Telstra is listed as one of your supported carriers, however if I
 input my phone number (after selecting Other (Not Listed)), I get a
 message saying:

 

 There were errors:
     * Mobile Number or Username

 

 My phone number I'm trying to enter is +61 044760. I have tried
 +61 044760, 61044760 and various other combinations,
 however none work.

Try +61 44760, that is without '0' after the country code.
--~--~-~--~~~---~--~~
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: djangoforms unicode error

2008-12-18 Thread Alexander Kojevnikov

 Is this a bug or a limitation of Django version in GAE?

You should prefix Unicode strings with 'u':

tipo=db.StringProperty(multiline=False,choices=set([uPessoa
Física,uPessoa Jurídica]))

--
www.muspy.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] Using a validator with a ListProperty is error-prone

2008-12-18 Thread David Glasser

Let's say you define a Model with a ListProperty with a validator:

def ValidateTagNames(names):
 for name in names:
   if not IsValidTagName(name):
 raise db.BadValueError(Invalid tag name '%s' % name)

class Item(db.Model):
 tags = db.StringListProperty(validator=ValidateTagNames)



Now, validator is only called from Property.validate, which is only
called by the descriptor method Property.__set__.  This means that if
you mutate a string list property's value with something like

 my_item.tags.append(new_tag)

the custom validator is *not* invoked.  Nor is it invoked at
Model.put() time.  It is, on the other hand, invoked when reading from
the datastore.  Thus, if you make the mistake of using a statement
like the one above, it will happily succeed, as will an ensuing
item.put() call... but any attempt to then read the saved object from
the datastore will raise an exception.

Admittedly, this is a bit of a doctor, it hurts when I do that
case... but it seems really error-prone to completely disallow
mutation of ListProperty values.  I've been working around it in my
app by overriding Item.put() with a method that does self.tags =
self.tags, but this is an ugly hack (and also fails to work if you
use db.put).

One simple possibility would be to make the following change to
ListProperty.get_value_for_datastore:

--- a/__init__.py
+++ b/__init__.py
@@ -2295,8 +2295,11 @@ class ListProperty(Property):
Returns:
  validated list appropriate to save in the datastore.

-return self.validate_list_contents(
+value = self.validate_list_contents(
super(ListProperty, self).get_value_for_datastore
(model_instance))
+if self.validator:
+  self.validator(value)
+return value


 class StringListProperty(ListProperty):


Does that seem reasonable?

--dave

--
glas...@davidglasser.net | langtonlabs.org | flickr.com/photos/glasser/

--~--~-~--~~~---~--~~
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: Sending same email to about 200 different TO adresses fails

2008-12-18 Thread Alexander Kojevnikov

send_mail() takes good amount of time to execute. Call it repeatedly
in a loop and your request will soon time out:
http://code.google.com/status/appengine/detail/mail/2008/12/18#ae-trust-detail-mail-send-mail-latency

In my app I send one e-mail per request (triggered from an external
box) and also have a delay between requests to avoid over-quota
errors.

--
www.muspy.com

On Dec 19, 7:35 am, stelg stelg.best...@gmail.com wrote:
 I am sending 1 email  to about 200 persons using a loop

 De email text is evrytame teh same, the TO address is derived from a
 Bigtable entity.
 I store each email separately.

 Strange enough sometimes i have 10 or 20 adresses receiving the email,
 but not all. I do have a try: except around it so failures should be
 skipped.

 The program is not over the CPU limiets and nothing in the logs. It
 looks to me that everything is fine, but the emails are in
 cyberspace

 I tried to use BCC but that does not work.
 I am not spamming. We are a foundation with about 250 registered
 members who have been victum to fraude. We organised ourselves through
 Google App Engine!
 regards

 Any help our a working example for a loop of emails so taht i can
 verify my code would be helpful. I am sitting now behind another PC so
 i cannot post code yet
 Stelg
--~--~-~--~~~---~--~~
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: App name error ...

2008-12-18 Thread Jesaja Everling

Sorry, it seems that I misunderstood the way appspot shares the gmail namespace.
I just tried, and was able to register an app jeverling.
So it seems there is another problem.
Either someone has already registered the application, or something else.
Can't help you with this.

On Thu, Dec 18, 2008 at 11:48 PM, Webweave webwe...@gmail.com wrote:

 So there's somebody out there using my company name as a gmail
 account 

 On Dec 18, 11:59 am, Jesaja Everling jeverl...@gmail.com wrote:
 Hi!

 This is due to the fact that App Engine apps share the gmail namespace.
 That means that if you already have a gmail-account registered, you
 cannot register an app with the same name.
 For example, I couldn't register jeverling.

 Best Regards,

 Jesaja Everling

 On Thu, Dec 18, 2008 at 8:52 PM, Webweave webwe...@gmail.com wrote:

  When I try to create my app name with my company name (AccuWeaver), it
  tells me An App or Google Account already exists with that name.

  Now how is that possible, when that is my company name, and I'm the
  only one with rights to that name ?

  How do I find out who is using my company name where it impacts Google
  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: App name error ...

2008-12-18 Thread MajorProgamming

Probably.

However, on a side note, you can create a application with the name
AccuWeaver2 (or the like), and then when you have it run on your
domain, your users wouldn't notice a thing...

On Dec 18, 5:48 pm, Webweave webwe...@gmail.com wrote:
 So there's somebody out there using my company name as a gmail
 account 

 On Dec 18, 11:59 am, Jesaja Everling jeverl...@gmail.com wrote:

  Hi!

  This is due to the fact that App Engine apps share the gmail namespace.
  That means that if you already have a gmail-account registered, you
  cannot register an app with the same name.
  For example, I couldn't register jeverling.

  Best Regards,

  Jesaja Everling

  On Thu, Dec 18, 2008 at 8:52 PM, Webweave webwe...@gmail.com wrote:

   When I try to create my app name with my company name (AccuWeaver), it
   tells me An App or Google Account already exists with that name.

   Now how is that possible, when that is my company name, and I'm the
   only one with rights to that name ?

   How do I find out who is using my company name where it impacts Google
   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: App name error ...

2008-12-18 Thread Marzia Niccolai
Hi,

You didn't mis-understand.  In fact, we recently released a change so that
you can now claim your own gmail name as an app id.  You were correct
originally, someone most likely has that string as a gmail address.

-Marzia

On Thu, Dec 18, 2008 at 3:36 PM, Jesaja Everling jeverl...@gmail.comwrote:


 Sorry, it seems that I misunderstood the way appspot shares the gmail
 namespace.
 I just tried, and was able to register an app jeverling.
 So it seems there is another problem.
 Either someone has already registered the application, or something else.
 Can't help you with this.

 On Thu, Dec 18, 2008 at 11:48 PM, Webweave webwe...@gmail.com wrote:
 
  So there's somebody out there using my company name as a gmail
  account 
 
  On Dec 18, 11:59 am, Jesaja Everling jeverl...@gmail.com wrote:
  Hi!
 
  This is due to the fact that App Engine apps share the gmail namespace.
  That means that if you already have a gmail-account registered, you
  cannot register an app with the same name.
  For example, I couldn't register jeverling.
 
  Best Regards,
 
  Jesaja Everling
 
  On Thu, Dec 18, 2008 at 8:52 PM, Webweave webwe...@gmail.com wrote:
 
   When I try to create my app name with my company name (AccuWeaver), it
   tells me An App or Google Account already exists with that name.
 
   Now how is that possible, when that is my company name, and I'm the
   only one with rights to that name ?
 
   How do I find out who is using my company name where it impacts Google
   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] Best way to mass mail

2008-12-18 Thread MajorProgamming

Suppose one of the features I have on the App I'm creating, is the
ability for users to subscribe for certain alerts.

1. What would be the best way to implement this considering the
current features available on google app engine (and possibly other
free services)?

2. [this one should probably be answered by a google employee:] Is
this type of functionality ever going to be fully supported by 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: Data is skipped

2008-12-18 Thread paptimus

Hi, Marzia.

Thank you for your advice. I've done it.

Thanks.

On 12月18日, 午前2:29, Marzia Niccolai ma...@google.com wrote:
 Hi,

 I believe that all you will need to do is get() the entity, and then call
 put() on it again.  You shouldn't need to actually create a new entity.

 -Marzia

 On Tue, Dec 16, 2008 at 8:10 PM, paptimus papti...@gmail.com wrote:

  Hi, Marizia.

  I'm sorry to cross the post.

  I understand this issue is fixed.
  But I think that the data that put while the issue is remaining are
  under the influence of this issue.
  So the way to reccover the data is to register as new entity and to
  delete old one.
  Is it correct?

  Thanks.

  On 12月17日, 午前4:04, paptimus papti...@gmail.com wrote:
   Hi, Marzia.

 Also, have you tried adding this index to your index.yaml and
  uploading it
 with your application:

 - kind: Ownership
  properties:
  - name: user
  - name: deleted
  - name: created_on
direction: desc

   I added and uploaded this index according as your advice.
   But this problem is not remaining.

   So I vacuumed the below index which is generated by sdk and previously
   created.

   - kind: Ownership
 properties:
 - name: deleted
 - name: user
 - name: created_on
   direction: desc

   But the situation is the same as before.

   Thanks.

   On 12月16日, 午前11:52, paptimus papti...@gmail.com wrote:

Hi, Marzia. Thank you for your reply.

It is missing.
For example, I run this query:

query = models.Ownership.all().filter('user =',
papti...@gmail.com),filter('deleted =',False).order('-
created_on').fetch(0, 20)

These lists are my expecting/getting result.
The getting result contains no 'NG' data but folowing 3 data.

expecting:
2008-12-12 10:25:23.397434
2008-12-09 18:04:23.439058
2008-12-03 15:22:46.754546
2008-12-03 15:22:45.251281
2008-12-03 15:22:42.594933
2008-12-03 15:22:41.149333
2008-12-03 15:22:39.559995
2008-12-03 15:22:38.116000
2008-12-03 15:22:36.511006
2008-12-03 15:22:35.117080
2008-12-03 15:22:33.679363
2008-12-03 15:22:32.119234
2008-12-03 15:22:30.461840
2008-12-03 15:22:28.936849
2008-12-03 15:22:27.518304
2008-12-03 15:22:26.039718
2008-12-03 15:22:24.665877NG
2008-12-03 15:22:23.188243
2008-12-03 15:22:21.681791NG
2008-12-03 15:22:20.245579NG

getting:
2008-12-12 10:25:23.397434
2008-12-09 18:04:23.439058
2008-12-03 15:22:46.754546
2008-12-03 15:22:45.251281
2008-12-03 15:22:42.594933
2008-12-03 15:22:41.149333
2008-12-03 15:22:39.559995
2008-12-03 15:22:38.116000
2008-12-03 15:22:36.511006
2008-12-03 15:22:35.117080
2008-12-03 15:22:33.679363
2008-12-03 15:22:32.119234
2008-12-03 15:22:30.461840
2008-12-03 15:22:28.936849
2008-12-03 15:22:27.518304
2008-12-03 15:22:26.039718
2008-12-03 15:22:23.188243
2008-12-03 15:22:18.783426
2008-12-03 15:22:17.303290
2008-12-03 15:22:13.102364

Thanks.

On 12月16日, 午前5:18, Marzia Niccolai ma...@google.com wrote:

 Hi,

 Thanks for the report, but I'm not sure I understand how exactly your
  query
 is having an issue.

 Can you elaborate on this statement: The result set is ordered by
 '-created_on', but it is not sequential.  What data are you getting?
  What
 data are you expecting? Is it misordered or missing?

 Also, have you tried adding this index to your index.yaml and
  uploading it
 with your application:

 - kind: Ownership
  properties:
  - name: user
  - name: deleted
  - name: created_on
direction: desc

 Thanks,
 Marzia

 On Mon, Dec 15, 2008 at 11:05 AM, paptimus papti...@gmail.com
  wrote:

  I get an additional information.

  I vacuumed the problem index and rebuilt the same index.
  The number of result set before vacuum_index is not same as one of
  after that.
  Obviously, query is same.

  So I think my app get into this situation while rebuilding index.
  I hope gae team checks my app's index.
  My app id is 'book-case-2' and kind is 'Ownership'.

  Thanks.

  On 12月16日, 午前1:23, koji matsui papti...@gmail.com wrote:
   Hi, djidjadji, thanks for your comment.

   I tried both query as below:

   query = models.Ownership.all().filter('user',
  user),filter('deleted',
   False).order('-created_on').fetch(offset, amount)
   query = models.Ownership.all().filter('user =',
  user),filter('deleted
   =', False).order('-created_on').fetch(offset, amount)

   But the definition of index sdk generates is exactly the same.
   And lack of data in result set is the same.

   So, I think this problem happens when server creates the index.

   Thanks.

   2008/12/15 djidjadji djidja...@gmail.com:

A snippet from the manual
==
filter(property_operator, value)

  

[google-appengine] Re: Data is skipped

2008-12-18 Thread paptimus

Sorry, it is my mistype.

query = models.Ownership.all().filter('user =', user),filter('deleted
=',False).order('-created_on').fetch(20, 0)

Thanks.

On 12月18日, 午前3:29, djidjadji djidja...@gmail.com wrote:
 From the manual:
   fetch(limit, offset=0)

 Your query

  query = models.Ownership.all().filter('user =', user),filter('deleted 
  =',False).order('-created_on').fetch(0, 20)

 You tell fetch you want 0 elements, and then skip the first 20.

 2008/12/17 Marzia Niccolai ma...@google.com:

  Hi,

  I believe that all you will need to do is get() the entity, and then call
  put() on it again.  You shouldn't need to actually create a new entity.

  -Marzia

  On Tue, Dec 16, 2008 at 8:10 PM, paptimus papti...@gmail.com wrote:

  Hi, Marizia.

  I'm sorry to cross the post.

  I understand this issue is fixed.
  But I think that the data that put while the issue is remaining are
  under the influence of this issue.
  So the way to reccover the data is to register as new entity and to
  delete old one.
  Is it correct?

  Thanks.

  On 12月17日, 午前4:04, paptimus papti...@gmail.com wrote:
   Hi, Marzia.

 Also, have you tried adding this index to your index.yaml and
 uploading it
 with your application:

 - kind: Ownership
  properties:
  - name: user
  - name: deleted
  - name: created_on
direction: desc

   I added and uploaded this index according as your advice.
   But this problem is not remaining.

   So I vacuumed the below index which is generated by sdk and previously
   created.

   - kind: Ownership
 properties:
 - name: deleted
 - name: user
 - name: created_on
   direction: desc

   But the situation is the same as before.

   Thanks.

   On 12月16日, 午前11:52, paptimus papti...@gmail.com wrote:

Hi, Marzia. Thank you for your reply.

It is missing.
For example, I run this query:

query = models.Ownership.all().filter('user =',
papti...@gmail.com),filter('deleted =',False).order('-
created_on').fetch(0, 20)

These lists are my expecting/getting result.
The getting result contains no 'NG' data but folowing 3 data.

expecting:
2008-12-12 10:25:23.397434
2008-12-09 18:04:23.439058
2008-12-03 15:22:46.754546
2008-12-03 15:22:45.251281
2008-12-03 15:22:42.594933
2008-12-03 15:22:41.149333
2008-12-03 15:22:39.559995
2008-12-03 15:22:38.116000
2008-12-03 15:22:36.511006
2008-12-03 15:22:35.117080
2008-12-03 15:22:33.679363
2008-12-03 15:22:32.119234
2008-12-03 15:22:30.461840
2008-12-03 15:22:28.936849
2008-12-03 15:22:27.518304
2008-12-03 15:22:26.039718
2008-12-03 15:22:24.665877NG
2008-12-03 15:22:23.188243
2008-12-03 15:22:21.681791NG
2008-12-03 15:22:20.245579NG

getting:
2008-12-12 10:25:23.397434
2008-12-09 18:04:23.439058
2008-12-03 15:22:46.754546
2008-12-03 15:22:45.251281
2008-12-03 15:22:42.594933
2008-12-03 15:22:41.149333
2008-12-03 15:22:39.559995
2008-12-03 15:22:38.116000
2008-12-03 15:22:36.511006
2008-12-03 15:22:35.117080
2008-12-03 15:22:33.679363
2008-12-03 15:22:32.119234
2008-12-03 15:22:30.461840
2008-12-03 15:22:28.936849
2008-12-03 15:22:27.518304
2008-12-03 15:22:26.039718
2008-12-03 15:22:23.188243
2008-12-03 15:22:18.783426
2008-12-03 15:22:17.303290
2008-12-03 15:22:13.102364

Thanks.

On 12月16日, 午前5:18, Marzia Niccolai ma...@google.com wrote:

 Hi,

 Thanks for the report, but I'm not sure I understand how exactly
 your query
 is having an issue.

 Can you elaborate on this statement: The result set is ordered by
 '-created_on', but it is not sequential.  What data are you
 getting? What
 data are you expecting? Is it misordered or missing?

 Also, have you tried adding this index to your index.yaml and
 uploading it
 with your application:

 - kind: Ownership
  properties:
  - name: user
  - name: deleted
  - name: created_on
direction: desc

 Thanks,
 Marzia

 On Mon, Dec 15, 2008 at 11:05 AM, paptimus papti...@gmail.com
 wrote:

  I get an additional information.

  I vacuumed the problem index and rebuilt the same index.
  The number of result set before vacuum_index is not same as one of
  after that.
  Obviously, query is same.

  So I think my app get into this situation while rebuilding index.
  I hope gae team checks my app's index.
  My app id is 'book-case-2' and kind is 'Ownership'.

  Thanks.

  On 12月16日, 午前1:23, koji matsui papti...@gmail.com wrote:
   Hi, djidjadji, thanks for your comment.

   I tried both query as below:

   query = models.Ownership.all().filter('user',
   user),filter('deleted',
   False).order('-created_on').fetch(offset, amount)
   query = models.Ownership.all().filter('user =',
   user),filter('deleted
   =', 

[google-appengine] Re: Best way to mass mail

2008-12-18 Thread Alexander Kojevnikov

 Suppose one of the features I have on the App I'm creating, is the
 ability for users to subscribe for certain alerts.

 1. What would be the best way to implement this considering the
 current features available on google app engine (and possibly other
 free services)?

There are two issues to consider:

 * Calling send_mail() takes time, don't send too many emails in one
request.
 * If you send too many emails within a short period of time you will
get a quota exceeded error, even if you don't reach your daily email
quota.

What I do in my app is the following:

 * I ping a certain URL from an external box.
 * The handler of that URL sends one pending email.
 * Wait, rinse, repeat. Time to wait (in seconds) = 24 * 60 * 60 /
daily_quota.

--
www.muspy.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: Over Quota - seems like for no reason

2008-12-18 Thread Marzia Niccolai
Hi,

This ended up being an issue that code in the Universal Feed Parser open
source module was throwing an illegal system call since the production
update last night.

If anyone else is experiencing quota denials and using this module, please
comment out these lines (start at 2686):

   try:
return open(url_file_stream_or_string)
except:
pass

Thanks,
Marzia


On Thu, Dec 18, 2008 at 2:43 PM, Marzia Niccolai ma...@google.com wrote:

 Hi,

 For which app id are you experiencing this?

 -Marzia


 On Thu, Dec 18, 2008 at 2:41 PM, dk davemk...@gmail.com wrote:


 My app is showsing as Over Quota and has been for hours.  The
 dashboard shows basically no activity all day (maybe 50 requests)

 I suspected a possible  problem with high cpu but I don't even have a
 single high cpu warning in the logs today.

 Please help!

 -dk
 



--~--~-~--~~~---~--~~
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: Google Team: Please Make Django 1.0 A Higher Priority

2008-12-18 Thread cz

So far, for me App Engine has worked pretty well.
The issue regarding Django 1.0 is a little more complicated than just
use zipimport and django helper which is the standard response. While
this works and is in fact what I use, there are some issues. One is
that if your app doesn't have a lot of traffic Django is zipimported
on almost every page request and the all monkey patching at init time
doesn't seem super fast. This can blow out your CPU quota. The other
thing is that the App Engine designers obviously had Django in mind
when they designed App Engine and integrated (maybe included is a
better word) it in the API. It's not just another feature request from
the clamoring masses.
I'm skeptical that upgrading to 1.0 would cause as much anguish as
Google implies. Most serious users of Django use a zipped up 1.0 and
the upgrade would be seamless. For the others, they've had a fair
amount of time already to think about the changes and should be ready
to make the changes if they haven't already. Also, App Engine is still
beta which implies that every app running on it is in beta as well.
Current users of those apps should expect some hiccups.
I know there are a million other feature requests but this one is a
little more of a basic API fix than a feature like adding Java or
whatever (why don't the Java people just use one of the many hosted
servlet environments anyway?).

All in all, I'm pretty excited with App Engine. It was a great excuse
to learn Python after programming in Java for many years, and I like
the simplicity and basic level of constraints of the environment. Sure
I would love a whole bunch more features but I figure they'll arrive
eventually.
It is a bit disconcerting that developer interest seems to have waned
(based on forum traffic). And I wish Google would give us a little
more open about what they are working on. I get the feeling that there
are maybe three developers working on App Engine in their spare time
and Google as a company isn't quite 100% sure they will fully support
it. Please tell me I'm wrong.

happy programming,
- Claude


On Dec 18, 1:12 pm, Greg g.fawc...@gmail.com wrote:
 I can understand the frustration when there seems to be little
 movement on something that is important to you...
--~--~-~--~~~---~--~~
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] The next step in Google Apps

2008-12-18 Thread ceirion.jo...@btinternet.com

I've just had an invite from Google Apps to participate.

But I think I am at the next step along. My current site is well above
the terms of use bandwidth (approx 1 Terabyte pm) split amongst
servers across ISPs to balance cost. It does not use video (unless
Flash swf counts) but it has upwards of 5 million page views pm
(mostly school kids following a syllabus). I read a bit about 'burst
activity' but lost interest - just tell me what it would cost as
trying to fine tune a site along 'burst' lines is just too much hassle
- assumption - busy in day - quiet at night is hard enough.

I don't expect the service to be free (it's a shed-load of money per
month to my current providers)

Question: Is there a roll-out to a professional SLA style service?
e.g. flexible bandwidth limits, simultaneous user guarantees, uptime
definition, backups, malware detection, full database support, email
and the rest of what ISP offer as USPs?


--~--~-~--~~~---~--~~
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: Google Team: Please Make Django 1.0 A Higher Priority

2008-12-18 Thread Thomas Johansson

I just want to address one thing here: There is nothing in AppEngine
that is tied in any way to django or any framework. They just expose a
pure CGI model and service APIs (memcache, datastore and so forth). It
is designed with the standard python model in mind; CGI and WSGI.

It is included because it is the most popular framework out there, and
easy to get started with. Any python framework that talks CGI or WSGI
works great on appengine, including their own webapp mini-framework
based on webob and django templates.

That said, getting django 1.0 in appengine would be nice. I personally
don't use it but I can appreciate the complexities of getting it
working on your own with the current 1000 file and 1mb size
limitations. Even better would be lifting those limitations so you
wouldn't have to rely on them keeping it up to date.

On Dec 19, 1:54 am, cz czer...@gmail.com wrote:
 So far, for me App Engine has worked pretty well.
 The issue regarding Django 1.0 is a little more complicated than just
 use zipimport and django helper which is the standard response. While
 this works and is in fact what I use, there are some issues. One is
 that if your app doesn't have a lot of traffic Django is zipimported
 on almost every page request and the all monkey patching at init time
 doesn't seem super fast. This can blow out your CPU quota. The other
 thing is that the App Engine designers obviously had Django in mind
 when they designed App Engine and integrated (maybe included is a
 better word) it in the API. It's not just another feature request from
 the clamoring masses.
 I'm skeptical that upgrading to 1.0 would cause as much anguish as
 Google implies. Most serious users of Django use a zipped up 1.0 and
 the upgrade would be seamless. For the others, they've had a fair
 amount of time already to think about the changes and should be ready
 to make the changes if they haven't already. Also, App Engine is still
 beta which implies that every app running on it is in beta as well.
 Current users of those apps should expect some hiccups.
 I know there are a million other feature requests but this one is a
 little more of a basic API fix than a feature like adding Java or
 whatever (why don't the Java people just use one of the many hosted
 servlet environments anyway?).

 All in all, I'm pretty excited with App Engine. It was a great excuse
 to learn Python after programming in Java for many years, and I like
 the simplicity and basic level of constraints of the environment. Sure
 I would love a whole bunch more features but I figure they'll arrive
 eventually.
 It is a bit disconcerting that developer interest seems to have waned
 (based on forum traffic). And I wish Google would give us a little
 more open about what they are working on. I get the feeling that there
 are maybe three developers working on App Engine in their spare time
 and Google as a company isn't quite 100% sure they will fully support
 it. Please tell me I'm wrong.

 happy programming,
 - Claude

 On Dec 18, 1:12 pm, Greg g.fawc...@gmail.com wrote:

  I can understand the frustration when there seems to be little
  movement on something that is important to you...


--~--~-~--~~~---~--~~
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] Do I have to login at 11:59pm to check my quota?

2008-12-18 Thread Waleed

I'm trying to find out how much exactly I'm using (requests,
bandwidth, ..etc.) per day. However, once the clock hits 12:00am, all
the numbers reset and I can't find a way to see yesterday's numbers.
Am I missing something? How do you guys get the exact number of
requests you're doing per day? I'm considering setting my alarm clock
to 11:50pm to remember to login and get a good glance at my traffic
numbers. 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
-~--~~~~--~~--~--~---



[google-appengine] Re: DEADLINE Exceeded Messages ?!

2008-12-18 Thread Marzia Niccolai
Hi,

Seems like you are also doing some heavy module importing.  You could be
able to trim that down as well.

-Marzia

On Thu, Dec 18, 2008 at 1:57 PM, Derrick derrickrbu...@gmail.com wrote:


 Here is what I get from the profile of a query that does not exceed
 the deadline, but comes close:

 ncalls  tottime  percall  cumtime  percall filename:lineno(function)
15/130.2990.0201.0180.078 {__import__}
   160.2170.0140.2350.015
 {google3.apphosting.runtime._apphosting_runtime___python__apiproxy.Wait}

 Does this mean that I am making 16 datastore requests and that I need
 to cut down on the number of such requests?

 On Dec 18, 1:13 pm, Marzia Niccolai ma...@google.com wrote:
  This means your app is taking more than 10 seconds to respond to a
 request.
  Try processing less data per request, or work on streamlining the way
 that
  you process the data during a request.
 
  -Marzia
 
  On Thu, Dec 18, 2008 at 12:48 PM, Derrick derrickrbu...@gmail.com
 wrote:
 
   I am getting class 'google.appengine.runtime.DeadlineExceededError'
 
   On Dec 18, 12:12 pm, Marzia Niccolai ma...@google.com wrote:
Hi Derrick,
 
What DeadlineExceedError message are you getting, there are a few
   different
deadlines you can run in to with App Engine.
 
The most common would be the request deadline.  Any given request
 with
   App
Engine must be completed within 10 seconds.  This is the runtime
DeadlineExceededError
 
Various APIs, like the datastore and URLFetch also have deadlines to
   ensure
that those calls return within the overall request deadline. If you
 are
running in to this deadline, you will get the
apiproxy_errors.DeadlineExceededError.
 
The problem shouldn't have anything to do with indexing, since simple
queries indexes are automatically generated, there is no need specify
   them
in the index.yaml (see this article:
  http://code.google.com/appengine/articles/index_building.html)
 
From your description I can imagine the problem is either you are
   requesting
too much information from the datastore (running in to
apiproxy_errors.DeadlineExceededError) in one request.  The amount of
   data
you can return in a query will depend on the size and shape of your
 data,
but you can test this by reducing the amount of data you query for in
 one
call.
 
The other issue I can see is that you are just taking too long to
 return
   the
entire request.  This probably happens because it takes too long to
   process
all of your results before the request deadline.
 
Generally in such a case we'd suggest profiling your application
 which
   will
indicate on which calls, and for how long, your app spends it's time.
Some
good information on profiling can be found in our FAQ:
  http://code.google.com/appengine/kb/commontasks.html#profiling
Screencast:
Optimizing Your App: Profiling and Memcachehttp://
  www.youtube.com/watch?v=Zip1G6-NiMM
And the Google I/O talk 'Building a Production Quality Application on
   Google
App Engine:
  http://sites.google.com/site/io/best-practices---building-a-productio.
 ..
 
-Marzia
 
On Thu, Dec 18, 2008 at 10:39 AM, Derrick derrickrbu...@gmail.com
   wrote:
 
 I am consistently getting Deadline exceeded messages.  The problem
 is
 that my individual requests are trivial: do a query or two to
 BigTable, serialize the results, and return them.
 
 So, what could be causing these messages.  How are deadlines
 actually
 measured on app engine?
 
 In my case, I am sending a number (10-50) of requests in parallel.
 Each individual request retrieves a single row in a table plus one
 or
 two rows in related tables.
 
 I would guess that that CPU time usage is measured by interrupting
 the
 thread serving a request at regular intervals.   The question is,
 how
 does this interrupt ascertain whether a CPU deadline has been
 exceeded.
 
 I hypothesize that when the poller wakes up, it checks to see which
 application has the cpu, and adds a tick to the count for that
 user.
 If the same application is using the CPU as the previous  time the
 poller awoke, then the poller checks to see if the tick count
 exceeds
 the deadline. If so, it initiates a deadline exceeded message and
 terminates the request.
 
 If this is the algorithm, then it is very problematic for me. Will
 someone from the Google App Engine team explain to us the workings
 of
 the Deadline measuring algorithm so that we can adjust our
 application
 for work on the platform.
 
 Also, could the problem have anything to do with indexing?  Our
 queries are dirt simple: a single query parameter, so we do not
 generate indices for them manually.
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google 

[google-appengine] Announcing Sluggable-mixin

2008-12-18 Thread Adam

I've just released a new AppEngine open source project on Google Code:
http://code.google.com/p/sluggable-mixin/

It adds the ability to associate a user-friendly, search-friendly, URL-
friendly slug with any datastore entity.  The code was extracted from
my AppEngine blogging software that you can see in action at
blog.adamcrossland.net.
--~--~-~--~~~---~--~~
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] how to create animated gif on GAE server?

2008-12-18 Thread Jason Li

Is there any package installable on GAE that I can use to create
animated gifs on the serverside?

Another post seems to suggest that i can connect to external web
services to do this, but i want to have tighter control without
external url requests...

Any comment is appreciated
thanks
jason

--~--~-~--~~~---~--~~
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: DEADLINE Exceeded Messages ?!

2008-12-18 Thread Derrick

Thanks.

On Dec 18, 5:17 pm, Marzia Niccolai ma...@google.com wrote:
 Hi,

 Seems like you are also doing some heavy module importing.  You could be
 able to trim that down as well.

 -Marzia

 On Thu, Dec 18, 2008 at 1:57 PM, Derrick derrickrbu...@gmail.com wrote:

  Here is what I get from the profile of a query that does not exceed
  the deadline, but comes close:

  ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     15/13    0.299    0.020    1.018    0.078 {__import__}
        16    0.217    0.014    0.235    0.015
  {google3.apphosting.runtime._apphosting_runtime___python__apiproxy.Wait}

  Does this mean that I am making 16 datastore requests and that I need
  to cut down on the number of such requests?

  On Dec 18, 1:13 pm, Marzia Niccolai ma...@google.com wrote:
   This means your app is taking more than 10 seconds to respond to a
  request.
   Try processing less data per request, or work on streamlining the way
  that
   you process the data during a request.

   -Marzia

   On Thu, Dec 18, 2008 at 12:48 PM, Derrick derrickrbu...@gmail.com
  wrote:

I am getting class 'google.appengine.runtime.DeadlineExceededError'

On Dec 18, 12:12 pm, Marzia Niccolai ma...@google.com wrote:
 Hi Derrick,

 What DeadlineExceedError message are you getting, there are a few
different
 deadlines you can run in to with App Engine.

 The most common would be the request deadline.  Any given request
  with
App
 Engine must be completed within 10 seconds.  This is the runtime
 DeadlineExceededError

 Various APIs, like the datastore and URLFetch also have deadlines to
ensure
 that those calls return within the overall request deadline. If you
  are
 running in to this deadline, you will get the
 apiproxy_errors.DeadlineExceededError.

 The problem shouldn't have anything to do with indexing, since simple
 queries indexes are automatically generated, there is no need specify
them
 in the index.yaml (see this article:
   http://code.google.com/appengine/articles/index_building.html)

 From your description I can imagine the problem is either you are
requesting
 too much information from the datastore (running in to
 apiproxy_errors.DeadlineExceededError) in one request.  The amount of
data
 you can return in a query will depend on the size and shape of your
  data,
 but you can test this by reducing the amount of data you query for in
  one
 call.

 The other issue I can see is that you are just taking too long to
  return
the
 entire request.  This probably happens because it takes too long to
process
 all of your results before the request deadline.

 Generally in such a case we'd suggest profiling your application
  which
will
 indicate on which calls, and for how long, your app spends it's time.
 Some
 good information on profiling can be found in our FAQ:
   http://code.google.com/appengine/kb/commontasks.html#profiling
 Screencast:
 Optimizing Your App: Profiling and Memcachehttp://
   www.youtube.com/watch?v=Zip1G6-NiMM
 And the Google I/O talk 'Building a Production Quality Application on
Google
 App Engine:
   http://sites.google.com/site/io/best-practices---building-a-productio.
  ..

 -Marzia

 On Thu, Dec 18, 2008 at 10:39 AM, Derrick derrickrbu...@gmail.com
wrote:

  I am consistently getting Deadline exceeded messages.  The problem
  is
  that my individual requests are trivial: do a query or two to
  BigTable, serialize the results, and return them.

  So, what could be causing these messages.  How are deadlines
  actually
  measured on app engine?

  In my case, I am sending a number (10-50) of requests in parallel.
  Each individual request retrieves a single row in a table plus one
  or
  two rows in related tables.

  I would guess that that CPU time usage is measured by interrupting
  the
  thread serving a request at regular intervals.   The question is,
  how
  does this interrupt ascertain whether a CPU deadline has been
  exceeded.

  I hypothesize that when the poller wakes up, it checks to see which
  application has the cpu, and adds a tick to the count for that
  user.
  If the same application is using the CPU as the previous  time the
  poller awoke, then the poller checks to see if the tick count
  exceeds
  the deadline. If so, it initiates a deadline exceeded message and
  terminates the request.

  If this is the algorithm, then it is very problematic for me. Will
  someone from the Google App Engine team explain to us the workings
  of
  the Deadline measuring algorithm so that we can adjust our
  application
  for work on the platform.

  Also, could the problem have anything to do with indexing?  Our
  queries are dirt simple: a single query parameter, so we do not
  generate indices 

[google-appengine] Re: Own domain suddenly stops working!

2008-12-18 Thread Will
It is Chinese 'great firewall' in action. The whole ghs.google.com is
blocked. If your GAE project uses custom domain (which I suspect most do),
then your domain will not be visible within mainland China, at least for
now. Access to appspot.com is OK.

This is a risk you may want to consider if your audience includes China.

Does Google plan to do something about it?

Best,

Will

On Thu, Dec 18, 2008 at 9:38 AM, Vocalster App Admin 
vocalster@gmail.com wrote:

 Hi Marzia,

 Alright, here is something interesting. I am in China, I can visit
 bianshengbaobao.appspot.com with no problem, but not www.vocalster.com. I
 can visit www.vocalster.com via a proxy though. Perhaps the Chinese 'Great
 wall' is doing something weired. My ping to www.vocalster.com also failed.
 This happened only two days ago, before both domains are fine.

 Thanks,

 Will


 On Thu, Dec 18, 2008 at 1:16 AM, Marzia Niccolai ma...@google.com wrote:

 Hi,

 This seems to be working for me today.  Were you able to find a solution?
 Or did it just start to work again?

 -Marzia


 On Tue, Dec 16, 2008 at 9:33 PM, vocalster vocalster@gmail.comwrote:


 Hi there,

 I've pointed my own domain www.vocalster.com to
 bianshengbaobao.appspot.com. It had worked fine until last night. Now
 only I can visit bianshengbaobao.appspot.com but not the other, it
 says 'time out', as if the domain had no DNS record.

 Any insights?

 TIA,

 Will




 



--~--~-~--~~~---~--~~
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: 18 hours of Over Quota, Dashboard and Quota Details indicate everything's fine

2008-12-18 Thread Ben Bishop

Thanks Thomas,

Marzia and Jeff had it sorted out in no time. From the Over Quota -
seems like for no reason  thread:

On Dec 19, 11:48 am, Marzia Niccolai ma...@google.com wrote:
 This ended up being an issue that code in the Universal Feed Parser open
 source module was throwing an illegal system call since the production
 update last night.

 If anyone else is experiencing quota denials and using this module, please
 comment out these lines (start at 2686):

try:
 return open(url_file_stream_or_string)
 except:
 pass


The offending lines are 1825-1828 in my version of feedparser.py (v4.1
Rev: 1.92 ). No errors were being logged in the Dashboard logs.

 Just out of curiosity, what kind of app is it?
Currently the app just sucks in a bunch of Blogger feeds for display,
so Universal Feed Parser was a key part of the site!
--~--~-~--~~~---~--~~
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: Django+Appengine vs Appengine

2008-12-18 Thread boson

Personally: I haven't used Python in a few years, and I've never used
Django, though it looks good.  Most of my recent web work has been
LAMPish (including large structured OO projects in PHP 5).  I've found
the learning curve with GAE to be pretty immense but presumably
worthwhile.  I'm very impressed with what Google has done so far.

Now considering the facts that a) lots of the good bits from Django
are either included in GAE (templates) or don't work with GAE (some of
the admin stuff), b) the version of Django that works out of the box
is old (.96), and c) the workarounds for getting new Django to run
seem like I'll be chasing my tail a lot since I'm not even sure how
it's supposed to work in the first place...  I decided to build my
first projects using just webapp - no Django.

This way I can familiarize myself with Django's template language and
all the gotchas inherent in GAE itself.  And hopefully by the time I'm
ready to jump into Django, they'll have a newer version installed by
default.

This is MY current reasoning after dwelling on this for a few weeks
given MY situation, which seems similar to the OP's.  Your mileage may
vary.  This is an interesting discussion, though, and it would be
helpful if anybody else with more experience would like to weigh in.
These decisions may live with us for a long time :)

--~--~-~--~~~---~--~~
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: Best way to mass mail

2008-12-18 Thread MajorProgamming

That would work well for a small amount of users. But what if my app
grows to like 5,000 emails? Your solution would definitely work well
at that point!

Do you maybe know of an external service that would allow me to set up
s/t to broadcast to many url's or is there another way that i'm
missing?

On Dec 18, 7:43 pm, Alexander Kojevnikov alexan...@kojevnikov.com
wrote:
  Suppose one of the features I have on the App I'm creating, is the
  ability for users to subscribe for certain alerts.

  1. What would be the best way to implement this considering the
  current features available on google app engine (and possibly other
  free services)?

 There are two issues to consider:

  * Calling send_mail() takes time, don't send too many emails in one
 request.
  * If you send too many emails within a short period of time you will
 get a quota exceeded error, even if you don't reach your daily email
 quota.

 What I do in my app is the following:

  * I ping a certain URL from an external box.
  * The handler of that URL sends one pending email.
  * Wait, rinse, repeat. Time to wait (in seconds) = 24 * 60 * 60 /
 daily_quota.

 --www.muspy.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: Best way to mass mail

2008-12-18 Thread MajorProgamming

Whoops, typo: I meant: Your solution would definitely _not_ work well
at that point!

On Dec 18, 9:31 pm, MajorProgamming sefira...@gmail.com wrote:
 That would work well for a small amount of users. But what if my app
 grows to like 5,000 emails? Your solution would definitely work well
 at that point!

 Do you maybe know of an external service that would allow me to set up
 s/t to broadcast to many url's or is there another way that i'm
 missing?

 On Dec 18, 7:43 pm, Alexander Kojevnikov alexan...@kojevnikov.com
 wrote:

   Suppose one of the features I have on the App I'm creating, is the
   ability for users to subscribe for certain alerts.

   1. What would be the best way to implement this considering the
   current features available on google app engine (and possibly other
   free services)?

  There are two issues to consider:

   * Calling send_mail() takes time, don't send too many emails in one
  request.
   * If you send too many emails within a short period of time you will
  get a quota exceeded error, even if you don't reach your daily email
  quota.

  What I do in my app is the following:

   * I ping a certain URL from an external box.
   * The handler of that URL sends one pending email.
   * Wait, rinse, repeat. Time to wait (in seconds) = 24 * 60 * 60 /
  daily_quota.

  --www.muspy.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: Best way to mass mail

2008-12-18 Thread Alexander Kojevnikov

 That would work well for a small amount of users. But what if my app
 grows to like 5,000 emails? Your solution would definitely not work
 well at that point!

I agree that it's far from being perfect, but I don't see why it
wouldn't scale. I currently send about 100 emails a day, if this
number grows, I would just need to buy more quota and ping the mail
sender URL more frequently (every 17 seconds for 5,000 emails a day).

 Do you maybe know of an external service that would allow me to set up
 s/t to broadcast to many url's or is there another way that i'm
 missing?

Google will eventually roll out a solution for background processing,
you can switch to it when it's available.

Also, a few workarounds have been discussed in this group, just search
it for background.

--
www.muspy.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: Best way to mass mail

2008-12-18 Thread MajorProgamming

Well another point is that if I want to send time-sensitive info, it
would be impossible (i.e. with your method, you are running the
sending throughout the entire day, but in some cases almost-instant
sending is required).

Another problem worth mentioning is that mass-fetching from the
datastore (all the emails) would not work in the current appengine...

On Dec 18, 9:50 pm, Alexander Kojevnikov alexan...@kojevnikov.com
wrote:
  That would work well for a small amount of users. But what if my app
  grows to like 5,000 emails? Your solution would definitely not work
  well at that point!

 I agree that it's far from being perfect, but I don't see why it
 wouldn't scale. I currently send about 100 emails a day, if this
 number grows, I would just need to buy more quota and ping the mail
 sender URL more frequently (every 17 seconds for 5,000 emails a day).

  Do you maybe know of an external service that would allow me to set up
  s/t to broadcast to many url's or is there another way that i'm
  missing?

 Google will eventually roll out a solution for background processing,
 you can switch to it when it's available.

 Also, a few workarounds have been discussed in this group, just search
 it for background.

 --www.muspy.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: Search multiple tables

2008-12-18 Thread Webysther Nunes
ok, but I like paging the table of person if I go back 10 rows of the table
to return contact 15 records of 5 people where only 2 are not at the hearing
held at first?
If the logic would become very complex, it is possible but is too complex!
There is a viable way to resolve this problem without harming the current
system in the future?
Create a single table is the only solution, but as in their own google io
cites an example but not identical examples such details, is a doubt.

2008/12/17 ryan ryanb+appeng...@google.com ryanb%2bappeng...@google.com


 you're right that we don't support queries across kinds right now.
 that's true of SearchableModel and SearchableQuery as well as normal
 Model and queries. you can work around this by running a separate
 query for each kind and merging the results in memory.
 



-- 
Desde já agradeço;

Webysther Nunes
Desenvolvedor Sênior

--~--~-~--~~~---~--~~
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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing

2008-12-18 Thread Thyako

I will have this problem with Google Checkout, too. I'm in Brazil and
it is not available here. Bad news...

On Dec 16, 11:47 pm, lws68825 lws68...@gmail.com wrote:
 Hi Marzia,
 I am in China, Google Checkout is not available in China. I suggest
 you provide more payment methods.

 On 12月17日, 上午7时59分, Marzia Niccolai ma...@google.com wrote:

  Hi,

  When billing launches, it will be available in US Dollars to any country
  where its possible to use Google Checkout.

  -Marzia

  On Tue, Dec 16, 2008 at 3:48 PM, Greg g.fawc...@gmail.com wrote:

   Cool! I have a commercial app launching in January, and can't wait
   for billing to arrive so I can stop worrying about quota exceptions.

   The screenshot shows a country selection field, for working out tax.
   Is this likely to delay billing for developers from non-US countries?
   New Zealand in particular?

--~--~-~--~~~---~--~~
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] Sudden jump in CPU time

2008-12-18 Thread wsstefan

I've had a very steady increase in the number of users and number of
requests to all my URL, everything looks the same as it did a few days
ago, but now i've jumped from using 0% of my cpu quota to 48%?  What's
going on?  I don't see any spikes in any of the data in the dashboard.

--~--~-~--~~~---~--~~
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] filesystem virtualization on top of datastore

2008-12-18 Thread jeremy

i was hoping to seamlessly virtualize a filesystem on top of
datastore. it seems there is no pure-python approach to filesystem
virtualization, making this impossible. should i give up on this or
have a i overlooked something?

--~--~-~--~~~---~--~~
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: Google Team: Please Make Django 1.0 A Higher Priority

2008-12-18 Thread cz


On Dec 18, 5:10 pm, Thomas Johansson prenc...@gmail.com wrote:
 I just want to address one thing here: There is nothing in AppEngine
 that is tied in any way to django or any framework. They just expose a
 ...

Sure, of course. By API I loosely included the supplied default
appengine frameworks.
I suspect there aren't many AppEngine users that are building apps
without using webapp or django right now. If I'm wrong then carry on,
I retract everything.

... complexities of getting it
 working on your own with the current 1000 file and 1mb size
 limitations...

That's the easiest part, and most appengine django users are doing
just that (simply by omitting seldom used parts of django). The cost
of repeated zipimports on requests is the problem. It eats into your
quota. Unless I'm not understanding how appengine works, I would
assume that if django 1.0 was included with the default frameworks
there would be a high likelihood that it is always in memory.
I'm using Django 1.0 now on appengine without any other issues besides
that. CPU quotas are really tight right now, so it makes sense to
minimize expensive events. That's all I'm sayin'

 On Dec 19, 1:54 am, cz czer...@gmail.com wrote:
...
--~--~-~--~~~---~--~~
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: Best way to mass mail

2008-12-18 Thread Alexander Kojevnikov

 Well another point is that if I want to send time-sensitive info, it
 would be impossible (i.e. with your method, you are running the
 sending throughout the entire day, but in some cases almost-instant
 sending is required).

If you need to notify a lot of users on the same event instantly, then
yes - that's a bit of a problem. If however the events are personal,
that is if you need to notify only a handful of users on each event,
then your maximum delay is the interval between your pings multiplied
by the number of users to notify.

 Another problem worth mentioning is that mass-fetching from the
 datastore (all the emails) would not work in the current appengine...

I probably miss something but why do you need mass-fetching? What I do
in the mailer handler is fetching one pending entity, send the
email, and reset the pending flag from the entity. If there are no
pending entities, I just quit and wait for the next ping.

--~--~-~--~~~---~--~~
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: Full Text Search Issues

2008-12-18 Thread Jamesz

ryan is absolutely right. and if you can't already see it, the problem
is that it's very unscalable to implement even the simplest of search
on gogole app engine. Imagine if someone tries to search with 3 or 4
keywords. You need a separate index for each of those. Depending on
the entity indexed, this can quickly become an exploding index and
soon you'll find that your indexes would be stucked building for days
and eventually erroring out (when rebuilding). We've found this out
the hard way, see my post 
http://zhuocorporation.spaces.live.com/blog/cns!D76A58A7350B0D0B!1824.entry

On Nov 24, 5:43 am, ryan ryanb+appeng...@google.com wrote:
 hi anurag! a couple things are going on here. first, you actually do
 need another index. appengine.ext.searchconvertssearchqueries into
 normal queries, with one filter for eachsearchkeyword. so, this:

 User.all().search('hug bos').order('-date_joined')

 is equivalent to this:

 User.gql(WHERE __searchable_text_index = 'hug' AND
 __searchable_text_index = 'bos' ORDER BY date_joined DESC)

 so, you need a different index for each different number ofsearch
 keywords that you want to support. specifically, for thissearch
 query, you'd need:

 - kind: User
   properties:
   - name: __searchable_text_index
   - name: __searchable_text_index
   - name: date_joined
     direction: desc

 if you drop the sort order, you no longer need an index because the
 query then has only equals filters. see:

 http://code.google.com/appengine/docs/datastore/queriesandindexes.htm...

 the second thing, which is causing your confusion, is that the bo
 keyword is being ignored due to this constant in appengine/ext/search/
 __init__.py:

   # words shorter than this will not be indexed.searchkeywords
 shorter than
   # this will be ignored.
   _FULL_TEXT_MIN_LENGTH = 3

 if you want to index andsearchon keywords under 3 characters, you
 can change this constant by adding this code to your main(), or
 somewhere similar:

 google.appengine.ext.search._FULL_TEXT_MIN_LENGTH = 1
--~--~-~--~~~---~--~~
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 performance by Shape of Data

2008-12-18 Thread boson

I understand generally that putting lots of small entities to the
datastore is faster than putting lots of large entities.

Can anybody say to what extent the difference is minimized if the
large entities are barely changing?

I.e. numerous indexes wouldn't need to update because only a single
property changed... So is this as fast as a smaller entity, close to
it, or barely different from the case where all properties changed?
--~--~-~--~~~---~--~~
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: SMS Issues + Form Broken

2008-12-18 Thread Ryan McCue

Yeah, that worked, thanks. In my opinion, it should do this
automatically, as all Australian phone numbers begin with a 0 before
the area code.

Thanks,
Ryan McCue.

On Dec 19, 8:54 am, Alexander Kojevnikov alexan...@kojevnikov.com
wrote:
 Try +61 44760, that is without '0' after the country code.
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---