[google-appengine] Profiling python on GAE flex

2018-09-27 Thread Neil Ghosh
Has anyone tried profiling a service in python GAE flex? The cloud profiler 
is not available yet for python.

pyflame needs ptracing to be enabled inside docker and cProfile does not 
seem to be profiling across process. 

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/6df5926b-4604-4b03-968d-48bf52f858c7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Re: Spam Email Being Delivered to Inbox

2016-06-28 Thread Neil Notme
Thank you for directing me to the Gmail Help Center.  Also, thanks for the 
info om IMAP and I am well aware of how the IMAP function works but that 
has nothing to do with the issue I have.  My problem is that spam mail when 
I look on the gmail web site it shows up in the sam folder but when I look 
at the same email in Outlook it shows up in the inbox.  I hope the Gmail 
Help Center can help me.

On Tuesday, June 28, 2016 at 11:48:55 AM UTC-4, Nicholas (Google Cloud 
Support) wrote:
>
> While I appreciate you sharing your experience and questions, I'm afraid 
> this is not the appropriate forum to address your questions.  I would 
> strongly suggest searching he GMail help center 
> <https://support.google.com/mail/?hl=en#topic=3394144> and familiarizing 
> yourself with the differences between POP3 and IMAP 
> <http://www.pop2imap.com/>.  One important note about IMAP as quoted in 
> the previous link:
>>
>> When a person uses IMAP, and he or she reads, deletes or moves email into 
>> folders, the action occurs across all devices simultaneously.
>
> As such, whatever change happens to the email in GMail (including being 
> moved to spam) will be reflected on your local device using Outlook.  If 
> the email is deleted in one place, it will be deleted in both.  If existing 
> in one place, it will exist in both.
>
> I hope you find answers to your questions with the resources linked above.
>
> On Tuesday, June 28, 2016 at 9:31:31 AM UTC-4, Neil Notme wrote:
>>
>> I had my email configured as pop account and when spam email was 
>> delivered it was put into the gmail spam folder on the web and when I 
>> looked at my email in Outlook it would not be there (like the way I would 
>> like).  I just switched to IMAP and now when an email is delivered to my 
>> gmail account is=t is put into the spam folder on tthweb but that email is 
>> now showing up in my inbox in Outlook.  Please advise me how I can not have 
>> the spam email delivered to the Outlook inbox
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/da7fbbc3-b6f0-4415-aaf0-d3dff7952564%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Spam Email Being Delivered to Inbox

2016-06-28 Thread Neil Notme
I had my email configured as pop account and when spam email was delivered 
it was put into the gmail spam folder on the web and when I looked at my 
email in Outlook it would not be there (like the way I would like).  I just 
switched to IMAP and now when an email is delivered to my gmail account 
is=t is put into the spam folder on tthweb but that email is now showing up 
in my inbox in Outlook.  Please advise me how I can not have the spam email 
delivered to the Outlook inbox

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/a57ad69a-4f92-4bf4-b3db-a34662f32803%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] JSON API for DataStore

2015-06-06 Thread Neil Rao
I've been painfully trying to run my C# app with docker on app engine. It's 
nice that google supports docker, but what's the point if I can't access any 
app engine services?

Anyway I've been trying to access datastore via the JSON API (since I cannot 
use Google's .NET libraries with the new CoreCLR). I can't figure out how to 
authenticate requests. Is there a guide somewhere on adding and querying simple 
entities via the JSON API (without relying on any Google libraries)?

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/5085c0e2-d678-48d4-8f84-f54530c99e19%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [google-appengine] Opensourced .NET Core and Google App Engine

2015-05-29 Thread Neil Rao
That's cool. Is there a client library for the App Engine Search service? I 
can't find any, so I thought I'd write one, but I couldn't find any publicly 
accessible interfaces for it (REST etc).

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/53220e0e-70b3-477c-8c88-b803cf7ae8fd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [google-appengine] Opensourced .NET Core and Google App Engine

2015-05-29 Thread Neil Rao
Hi Nick,

Thanks, I'll experiment with the Endpoints API. I created a new feature 
request here 
(#12008): https://code.google.com/p/googleappengine/issues/detail?id=12008


Best,

Neil




On Friday, May 29, 2015 at 2:05:21 PM UTC-5, Nick (Cloud Platform Support) 
wrote:

 Hi Neil,

 The App Engine Search 
 https://cloud.google.com/appengine/docs/java/search/ API service is 
 accessible via the API of the libraries provided to the App Engine 
 runtime in the given language. External access to the Search service for an 
 app should be done through sending requests to handlers on your app (even 
 an Endpoints API https://cloud.google.com/appengine/docs/java/endpoints/) 
 which can access the Search API. Therefore, writing a client library for 
 a custom runtime would involve writing a wrapper or middle-ware 
 application in Java, Python, or Go which could access the Search API.

 I hope this helps you move forward with your development, and specifically 
 in reference to custom runtimes, I'm sure development will proceed with 
 making these services accessible via a REST API (don't quote me, though), 
 rather than simply being embedded in the runtime for the main supported 
 languages of traditional GAE. 

 If you'd like, there is a public issue tracker for App Engine 
 https://code.google.com/p/googleappengine/issues/list, and I encourage 
 you to create a feature request asking for a REST API for Search API (and 
 any other App Engine services which don't expose a REST API).

 Sincerely,

 Nick

 On Friday, May 29, 2015 at 9:18:09 AM UTC-4, Neil Rao wrote:

 That's cool. Is there a client library for the App Engine Search service? 
 I can't find any, so I thought I'd write one, but I couldn't find any 
 publicly accessible interfaces for it (REST etc).



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/552c16ac-8b8b-4b66-b2d2-9866f53a9a91%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Opensourced .NET Core and Google App Engine

2015-05-24 Thread Neil Rao
With .NET Core being opensourced 
http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx
 along 
with cross-platform runtimes for Linux, Windows, and Mac (and all the 
source code on GitHub https://github.com/dotnet), I think it'd be 
absolutely amazing to see .NET support for App Engine. It would be a smart 
move for Google for a few reasons:

1. There are a lot of people 
https://www.datanyze.com/market-share/frameworks/ using .NET.
2. .NET Core is released for under the MIT License (see here 
https://github.com/dotnet/corefx).
3. Some competitors support .NET out-of-the-box.

Personally, we rely on the .NET stack, and thus we're forced to use Compute 
Engine over App Engine. I'd love to see support for the new .NET on Google 
App Engine. What do you all think?

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/3e2a5c95-96c9-4ccd-99ad-caf0fd80c758%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Error when running tests: TypeError: order() expects a Property or query Order; received DateTimeProperty('date')

2013-10-23 Thread Neil McLaughlin

I have a small app which uses webapp2 and ndb and just a couple of simple 
models. It works well and I can manually test it OK.

I want to start driving future development using tests but can't seem to 
get my tests running.

I'm using nosetests --with-gae and I followed the examples on the Local 
Unit Testing for Python and also this article 
http://digitalflapjack.com/blog/2011/jun/14/gaetesting/  with no luck.

I keep getting the following error when running my tests:

TypeError: order() expects a Property or query Order; received 
DateTimeProperty('date')

from the line:

next_event = Event.query(Event.date = 
datetime.datetime.now()).order(Event.date).fetch(1)

removing the order clause allows the test to pass and running the full app 
with the clause shows no errors.

My tests have the following imports:

import unittest
from webtest import TestApp
from google.appengine.ext import ndb
from google.appengine.ext import testbed
from event_manager import application

Can anyone suggest what is going on and what I have done wrong.

Best Regards

Neil



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.


[google-appengine] Redirect to Non-UTF-8 URL

2011-11-07 Thread Neil Hodges
Hello everyone,

I'm currently working on porting an application to using the Google
App Engine, but I've run into a very odd bit of behavior.  Sometimes I
need to redirect to a site that expects query strings to be in EUC-JP
instead of UTF-8, and self.redirect() doesn't set the location
correctly when I try to do so.  Here is the incorrect behavior, which
only occurs when run on the cloud:

% wget -O /dev/null --server-response 'https://super-nubs.appspot.com/?
cmd=mgoo+%E4%B8%AD%E5%B3%B6%E3%81%BF%E3%82%86%E3%81%8Dee'
--2011-11-01 10:25:28--  
https://super-nubs.appspot.com/?cmd=mgoo+%E4%B8%AD%E5%B3%B6%E3%81%BF%E3%82%86%E3%81%8Dee
Resolving super-nubs.appspot.com... 74.125.127.141
Connecting to super-nubs.appspot.com|74.125.127.141|:443... connected.
HTTP request sent, awaiting response...
  HTTP/1.0 302 Found
  Content-Type: text/html; charset=utf-8
  Cache-Control: max-age=172800
  Date: Tue, 01 Nov 2011 17:25:28 GMT
  Server: Google Frontend
  Content-Length: 0
  Connection: Keep-Alive
Location: unspecified
ERROR: Redirection (302) without location.


Here is the correct behavior, running on a local instance:
% wget -O /dev/null --server-response 'http://127.0.0.1:8080/?cmd=mgoo+
%E4%B8%AD%E5%B3%B6%E3%81%BF%E3%82%86%E3%81%8Dee'
--2011-11-01 10:26:30--  
http://127.0.0.1:8080/?cmd=mgoo+%E4%B8%AD%E5%B3%B6%E3%81%BF%E3%82%86%E3%81%8Dee
Connecting to 127.0.0.1:8080... connected.
HTTP request sent, awaiting response...
  HTTP/1.0 302 Moved Temporarily
  Server: Development/1.0
  Date: Tue, 01 Nov 2011 17:26:30 GMT
  Content-Type: text/html; charset=utf-8
  Cache-Control: max-age=172800
  Location: http://music.goo.ne.jp/search/result.php?n=\303\346\305\347\244ߤ椭ee
  Content-Length: 0
Location: 
http://music.goo.ne.jp/search/result.php?n=%C3%E6%C5%E7%A4%DF%A4%E6%A4%ADee
[following]
--2011-11-01 10:26:30--  
http://music.goo.ne.jp/search/result.php?n=%C3%E6%C5%E7%A4%DF%A4%E6%A4%ADee
Resolving music.goo.ne.jp... 210.150.25.68
Connecting to music.goo.ne.jp|210.150.25.68|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.0 200 OK
  Date: Tue, 01 Nov 2011 17:26:31 GMT
  Server: Apache
  Cache-Control: no-store, no-cache, must-revalidate
  Pragma: no-cache
  Content-Type: text/html
  Set-Cookie: BBTracking=173.36.196.10.1320168391262803; path=/;
expires=Fri, 29-Oct-21 17:26:31 GMT
  Set-Cookie: NGUserID=dummy; expires=Wed, 01-Jan-2003 00:00:00 GMT;
path=/; domain=music.goo.ne.jp
Length: unspecified [text/html]
Saving to: “/dev/null”

 
[ =   

   ]
27,978  --.-K/s   in 0.08s

2011-11-01 10:26:31 (345 KB/s) - “/dev/null” saved [27978]


Lastly, here is the bit of code identical on both the cloud and the
local instance that handles the actual redirect.  I have not tried the
above cmd value before, so I know it's not in memcache:

content = url_parse(row.content, cmd, argv, cmb)
content = content.replace(' ', '%20')
content = content.encode(row.encoding)
self.response.headers['Cache-Control'] = 'max-
age=172800'
memcache.set(digest, content, 3600)
self.redirect(content)

row.encoding = 'EUC-JP' in this case.  If row.encoding = 'UTF-8' (the
default) the behavior on the local and cloud instances is the same.

What can I do to get the redirect working when Location can't be
UTF-8?

Thanks,

- Neil

-- 
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: Urgent - unable to deploy really important app

2011-06-10 Thread Neil McCarthy
I am experiencing the same issue. I was able to do a deploy about an hour 
ago, but now I'm getting that HTML-ified 500 server error.

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



Re: [google-appengine] Re: Urgent - unable to deploy really important app

2011-06-10 Thread Neil McCarthy
Working for me now too.

On Fri, Jun 10, 2011 at 10:56 AM, Robert Kluin robert.kl...@gmail.comwrote:

 Seems to be working again for me.  It seemed to be impacting my HR
 apps but *not* my master-slave apps.









 On Fri, Jun 10, 2011 at 13:35, Neil McCarthy nmccar...@gmail.com wrote:
  I am experiencing the same issue. I was able to do a deploy about an hour
  ago, but now I'm getting that HTML-ified 500 server error.
 
  --
  You received this message because you are subscribed to the Google Groups
  Google App Engine group.
  To view this discussion on the web visit
  https://groups.google.com/d/msg/google-appengine/-/lUgmjjEm0REJ.
  To post to this group, send email to google-appengine@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.com.
  For more options, visit this group at
  http://groups.google.com/group/google-appengine?hl=en.
 

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



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



[google-appengine] We Need an Email Signature App!

2010-01-28 Thread Neil
I love everything about Google Apps but who doesn't wish that we all
could make nice custom font and colored email signatures with logo
attachments and such. It's the only thing that bothers me and everyone
in my business. We have to POP everything in to Outlook and use that
if we want to send nice custom signature.

I've asked and researched but I am shocked that this feature isn't
available yet.

Please someone... make it for us.

Sincerely,
Neil Sargisian

-- 
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-appeng...@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: missing logs

2009-10-05 Thread neil souza

thanks nick, responses in line (hope they come through right, i don't
really know how to use groups)

On Sep 30, 2:57 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Neil,

 Sorry for the delay responding. Responses inline.





 On Sat, Sep 26, 2009 at 1:40 PM, neil souza nr...@foulplaymedia.com wrote:

  the issue: it looks like we may not be getting all of our log entries
  when when pull the logs from app engine.

  first, a little context. there's a lot here, so bear with me.

  we need to record event lines for metrics. normally, we would write
  the lines to a local file on each app server and then pull those logs
  every few minutes from the metrics system. we found this to be the
  most stable and scalable architecture.

  however, in app engine land, we can't write to a file. so we wrote the
  event lines to the logs, set up a script to pull them in 10 minute
  intervals, and loaded them into the stats system.

  to be clear, the process goes like this:

  1.) an event happens on the server that we'd like to record. we write
  a line to the log using logging.info(...) in python

  2.) every 10 minutes, a job starts on a metrics server, which requests
  the next batch of logs by calling appcfg.py. the last log in the new
  batch is kept in a append file to use as the 'sentinel' for the next
  fetch.

  3.) the new log file is parsed for event lines, which are written to
  another 'event' file.

  4.) a few minutes later, another job grabs new event files and loads
  the events into the metrics system.

  everything seemed to work great. until we realized that we were
  missing events. a lot of them. between 20-50%.

  there are some events that need to be shared with other systems. for
  one if those event types, i was feeling lazy, so i just fired http
  hits at the other system as the event happen. at some point, we
  compared these numbers - and found them to be drastically different.

  i ran tests today comparing the number of events recorded 'through'
  the logs system and the same events recorded by http hit during
  runtime. the percent of 'missing' events ranged from 18-56%, and the
  percent missing appeared to be significantly higher when the frequency
  of events was higher (during peak).

  i've done a significant amount of work that points to the logs being
  missing by the point that appcfg.py records them. i've reasonably
  verified that all the event lines that appcfg.py pulls down make it
  into the metrics system. oh, and all the numbers are being run on
  unique user counts, so there's no way that the counts could be
  mistakenly large (accidentally reading an event twice does not produce
  a new unique user id).

  my questions / issues:

  1.) should we be getting all of our logged lines from appcfg.py's
  request_logs command? is this a known behavior? recall that we are
  missing 20-50% of events - this is not a small discrepancy.

 App Engine has a fixed amount of space available for logs; it's essentially
 a circular buffer. When it runs out of space, it starts replacing older
 logs.

well, i'm going to guess that's the culprit.


  2.) we're pulling our logs every 10 minutes. seeing as the
  request_logs command lets you specify the time you want in days, i
  imagine this as more frequent than intended. could this be causing an
  issue?

 How much traffic are you getting? What's the size of 10 minutes' worth of
 logs?

we're at maybe avg. 200 request and looks like we're recording 1.25
events per request, so perhaps 250 log lines / sec? that's in addition
to all the other junk getting spilled out there - i didn't know that
space was limited, there's prob some debug output, then the
exceptions, etc...


  3.) we switch major versions of the app every time we push, which can
  be several times each day. this doesn't make sense as an issue since
  the numbers are know to be wrong over periods where there have been no
  version changes, but i wanted to mention it.

  4.) can you suggest a better solution for getting data to offline
  processing? right now we getting the correct numbers using the async
  http requests without ever calling get_result() or the like as a 'fire-
  and-forget' http hit (not even sure if we're supposed to use it like
  this, but seems to work). however, this approach has serious
  drawbacks:

 You could log to the datastore, and read and delete old entries using
 remote_api.


this just doesn't seem like the right job for the datastore - we're
only inserting at 250 events / sec right now, but need to be able to
scale that. if we're inserting a few thousand events per second, and
can only fetch or delete 1K at a time, that seems like a potential
problem. we can batch up the events in each request, but still only
limits the inserts per second to the app's requests per second, which
can have the same issue. just doesn't sound fun.

maybe http requests are the best way to do it for now, unless we can
get the log space significantly

[google-appengine] missing logs

2009-09-26 Thread neil souza

the issue: it looks like we may not be getting all of our log entries
when when pull the logs from app engine.

first, a little context. there's a lot here, so bear with me.

we need to record event lines for metrics. normally, we would write
the lines to a local file on each app server and then pull those logs
every few minutes from the metrics system. we found this to be the
most stable and scalable architecture.

however, in app engine land, we can't write to a file. so we wrote the
event lines to the logs, set up a script to pull them in 10 minute
intervals, and loaded them into the stats system.

to be clear, the process goes like this:

1.) an event happens on the server that we'd like to record. we write
a line to the log using logging.info(...) in python

2.) every 10 minutes, a job starts on a metrics server, which requests
the next batch of logs by calling appcfg.py. the last log in the new
batch is kept in a append file to use as the 'sentinel' for the next
fetch.

3.) the new log file is parsed for event lines, which are written to
another 'event' file.

4.) a few minutes later, another job grabs new event files and loads
the events into the metrics system.

everything seemed to work great. until we realized that we were
missing events. a lot of them. between 20-50%.

there are some events that need to be shared with other systems. for
one if those event types, i was feeling lazy, so i just fired http
hits at the other system as the event happen. at some point, we
compared these numbers - and found them to be drastically different.

i ran tests today comparing the number of events recorded 'through'
the logs system and the same events recorded by http hit during
runtime. the percent of 'missing' events ranged from 18-56%, and the
percent missing appeared to be significantly higher when the frequency
of events was higher (during peak).

i've done a significant amount of work that points to the logs being
missing by the point that appcfg.py records them. i've reasonably
verified that all the event lines that appcfg.py pulls down make it
into the metrics system. oh, and all the numbers are being run on
unique user counts, so there's no way that the counts could be
mistakenly large (accidentally reading an event twice does not produce
a new unique user id).

my questions / issues:

1.) should we be getting all of our logged lines from appcfg.py's
request_logs command? is this a known behavior? recall that we are
missing 20-50% of events - this is not a small discrepancy.

2.) we're pulling our logs every 10 minutes. seeing as the
request_logs command lets you specify the time you want in days, i
imagine this as more frequent than intended. could this be causing an
issue?

3.) we switch major versions of the app every time we push, which can
be several times each day. this doesn't make sense as an issue since
the numbers are know to be wrong over periods where there have been no
version changes, but i wanted to mention it.

4.) can you suggest a better solution for getting data to offline
processing? right now we getting the correct numbers using the async
http requests without ever calling get_result() or the like as a 'fire-
and-forget' http hit (not even sure if we're supposed to use it like
this, but seems to work). however, this approach has serious
drawbacks:

a.) http requests are very slow and expensive for something that does
not need to happen immediately.

b.) if the metrics system endpoint becomes unavailable, then, at best,
the data gets lost. at worst the issue domino's back up into the http
servers and takes the app down as well. (each http request has to
timeout, which takes significantly longer, spiking the concurrent
connections. this has screwed me multiple times. maybe you google guys
mark an endpoint as down system-wide so that subsequent requests never
attempt the connection, but we were never that smart).

thanks in advance, neil.
--~--~-~--~~~---~--~~
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 mail

2009-09-26 Thread neil souza

oh man, sending emails is a pain. the process of doing it successfully
is awkward, expensive and surprisingly opaque. here's what i recall,
don't quote me on it...

1.) in order to have a chance-in-hell to getting email through, you
need to send email from a 'whitelisted' email provider. the term
you're looking for is 'email marketing campaign' or the like. yes,
even when someone has given you their email and opted in to receiving
emails, you need to go through a whitelist service to have a chance-in-
hell of getting the email through.

2.) i think there are 2-3 big whiltelist services that are the master-
services for all the other ones, but they won't even deal with you
unless your volume is decent (i'd guess 100K email / day off the top
of my head). there are then hundreds of smaller services that go
through them, offering smaller marked-up packages.

3.) i've used these people before: http://www.campaigner.com/ if i
recall, they're about mid-tier, integration was better than some but
still a pain.

4.) don't expect to see big click-though rates. i would peg 1-2% CTR
unless you're really delivering something really compelling to the
user.

again, all off the top of my head, but hope it helps a bit. good
luck...

On Sep 25, 1:52 pm, Adam Strickland adam.strickl...@gmail.com wrote:
 I've got a problem and am looking for suggestions.  Our GAE app sends
 email.  In fact, one could say that the success of the application
 depends on clickthrough from those emails to the application.  The
 problem is, with the limitations on sending SMTP messages using GAE
 (from docs:  For security purposes, the sender address of a message
 must be the email address of an administrator for the application, or
 the Google Account email address of the current user who is signed in.
 The message can also include a reply to address, which must also
 meet these restrictions.), our generic from email address
 (invitati...@flexvite.com) is too often being disregarded or judged to
 be spam by the recipients.  Any thoughts or 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: the social network user id problem

2009-07-14 Thread neil souza

thanks, i'll go with that solution.

On Jul 13, 4:13 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 On Sat, Jul 11, 2009 at 12:11 AM, neil souzanr...@foulplaymedia.com wrote:

  hey nick - met you at I/O in may, foulplay media, social gaming and
  all that... still think you should get on facebook ;)

  yes, i believe that #3 would be the best solution, let me be more
  specific:

  i'm under the impression that the app engine allows you to specify a
  string identifier for a model (key_name) OR allow the datastore to
  issue it's own numeric identifier (id).

 That's correct.



  what i want to do is set the numeric identifier instead of letting the
  datastore create one. i have a unique 64bit integer that identifies
  the user from the social network, i would like to use that as the
  numeric key if possible (should be faster, avoid casting). can i do
  this?

  otherwise, as tmdk mentioned, i could use key_name and stick a letter
  in front of it, like 'L12345' for platform user id 12345.

 You can't set the ID directly. Using a prefixed string is your best bet here.

 -Nick Johnson







  On Jul 10, 7:23 am, Nick Johnson (Google) nick.john...@google.com
  wrote:
  On Fri, Jul 10, 2009 at 2:04 PM, neil souzanr...@foulplaymedia.com wrote:

   the problem:

   how to best structure the id system for a social network app on app
   engine.

   the run down:

   users access the app through a social network. they identify
   themselves to the app with a 'platform type id' (pl_type_id, enum) and
   'platform user id' (pl_user_id, 64bit int) pair. examples: user 12345
   at facebook, user 45678 at myspace, etc.

   we need to be able to find their data using that pair. we also need to
   be able to find their friend's data using lists of the same sort of
   pairs.

   let's say for the sake of simplicity that each user has a User object
   in the datastore. we need to be able to efficiently fetch a specific
   User object using a (pl_type_id, pl_user_id) pair, and fetch a list of
   User objects (up to say 1000) using a list of (pl_type_id, pl_user_id)
   pairs.

   ideas thus far:

   1.) User has integer properties for pl_user_id and pl_type_id.
   resolving one user object is no issue, resolving many requires an 'IN'
   query, which is not viable since it makes 1 query for each pair in the
   list - NO GOOD

   2.) User objects use key names of the form 'pl_type_id:pl_user_id'
   or something similar. then we can form the key from the provided info
   and fetch based on keys. we never used to do this because sql sucked
   at finding strings - not sure how app engine does..? - BETTER..?

  This is your best option. Datastore gets are a _lot_ faster than
  datastore queries, and you can fetch multiple IDs in the same
  operation.

  -Nick Johnson

   3.) is there a way to specify the id on a newly created Model? we know
   the pl_user_id is unique. we can then have a Model for each network
   and build keys from the pl_user_id. this is how we used to roll in the
   mysql world. - MAYBE..?

   additional ideas and feedback appreciated, thanks in advance.

  --
  Nick Johnson, App Engine Developer Programs Engineer
  Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
  Number: 368047

 --
 Nick Johnson, App Engine Developer Programs Engineer
 Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
 Number: 368047
--~--~-~--~~~---~--~~
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 social network user id problem

2009-07-10 Thread neil souza

the problem:

how to best structure the id system for a social network app on app
engine.


the run down:

users access the app through a social network. they identify
themselves to the app with a 'platform type id' (pl_type_id, enum) and
'platform user id' (pl_user_id, 64bit int) pair. examples: user 12345
at facebook, user 45678 at myspace, etc.

we need to be able to find their data using that pair. we also need to
be able to find their friend's data using lists of the same sort of
pairs.

let's say for the sake of simplicity that each user has a User object
in the datastore. we need to be able to efficiently fetch a specific
User object using a (pl_type_id, pl_user_id) pair, and fetch a list of
User objects (up to say 1000) using a list of (pl_type_id, pl_user_id)
pairs.


ideas thus far:

1.) User has integer properties for pl_user_id and pl_type_id.
resolving one user object is no issue, resolving many requires an 'IN'
query, which is not viable since it makes 1 query for each pair in the
list - NO GOOD

2.) User objects use key names of the form 'pl_type_id:pl_user_id'
or something similar. then we can form the key from the provided info
and fetch based on keys. we never used to do this because sql sucked
at finding strings - not sure how app engine does..? - BETTER..?

3.) is there a way to specify the id on a newly created Model? we know
the pl_user_id is unique. we can then have a Model for each network
and build keys from the pl_user_id. this is how we used to roll in the
mysql world. - MAYBE..?

additional ideas and feedback appreciated, thanks in advance.
--~--~-~--~~~---~--~~
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: the social network user id problem

2009-07-10 Thread neil souza

hey nick - met you at I/O in may, foulplay media, social gaming and
all that... still think you should get on facebook ;)

yes, i believe that #3 would be the best solution, let me be more
specific:

i'm under the impression that the app engine allows you to specify a
string identifier for a model (key_name) OR allow the datastore to
issue it's own numeric identifier (id).

what i want to do is set the numeric identifier instead of letting the
datastore create one. i have a unique 64bit integer that identifies
the user from the social network, i would like to use that as the
numeric key if possible (should be faster, avoid casting). can i do
this?

otherwise, as tmdk mentioned, i could use key_name and stick a letter
in front of it, like 'L12345' for platform user id 12345.


On Jul 10, 7:23 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 On Fri, Jul 10, 2009 at 2:04 PM, neil souzanr...@foulplaymedia.com wrote:

  the problem:

  how to best structure the id system for a social network app on app
  engine.

  the run down:

  users access the app through a social network. they identify
  themselves to the app with a 'platform type id' (pl_type_id, enum) and
  'platform user id' (pl_user_id, 64bit int) pair. examples: user 12345
  at facebook, user 45678 at myspace, etc.

  we need to be able to find their data using that pair. we also need to
  be able to find their friend's data using lists of the same sort of
  pairs.

  let's say for the sake of simplicity that each user has a User object
  in the datastore. we need to be able to efficiently fetch a specific
  User object using a (pl_type_id, pl_user_id) pair, and fetch a list of
  User objects (up to say 1000) using a list of (pl_type_id, pl_user_id)
  pairs.

  ideas thus far:

  1.) User has integer properties for pl_user_id and pl_type_id.
  resolving one user object is no issue, resolving many requires an 'IN'
  query, which is not viable since it makes 1 query for each pair in the
  list - NO GOOD

  2.) User objects use key names of the form 'pl_type_id:pl_user_id'
  or something similar. then we can form the key from the provided info
  and fetch based on keys. we never used to do this because sql sucked
  at finding strings - not sure how app engine does..? - BETTER..?

 This is your best option. Datastore gets are a _lot_ faster than
 datastore queries, and you can fetch multiple IDs in the same
 operation.

 -Nick Johnson



  3.) is there a way to specify the id on a newly created Model? we know
  the pl_user_id is unique. we can then have a Model for each network
  and build keys from the pl_user_id. this is how we used to roll in the
  mysql world. - MAYBE..?

  additional ideas and feedback appreciated, thanks in advance.

 --
 Nick Johnson, App Engine Developer Programs Engineer
 Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
 Number: 368047
--~--~-~--~~~---~--~~
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] Deploying to Google is very slow

2009-07-06 Thread Neil

These days  i found that my application deploying is very slow, it
needs 3 - 5 minutes, and 1 minute was ok before.
why?

--~--~-~--~~~---~--~~
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 manage app admin?

2009-07-02 Thread neil souza

i need to set up production apps. as is, it seems that apps are
associated to one and only one *user* account. this is a problem
because multiple users (developers) need to be able to admin an app
(to deploy, fetch logs, view datastore, etc.).

we also need our tracking system to be able to fetch the logs. it uses
a subprocess running appcfg.py to get them - which means it must
include the email in the subprocess args and feed the password in over
stdin. this means that the credential to access each app must be
stored in our database.

this is a problem - right now, the apps appear to be owned by my
google apps account - which is the master account for the domain. for
security reasons, i can't give that account's credentials out or store
them in our database.

here are the possible solutions i see:

1.) allow multiple users to admin an app. this is the desired solution
- we can control developers admin access to apps on individual basis,
and create a 'tracker' account that the tracking system uses to fetch
logs. if this is possible, please let me know how to do it.

2.) create one 'deploy' account that owns all apps - all developers
and the tracking system use this account, we change the password when
the set of dev's with admin access changes. in this case, how can i
'move' existing apps to a new 'deploy' account?

any help / advice appreciated, thanks in advance.

--~--~-~--~~~---~--~~
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: Python Vs Java in GAE

2009-06-11 Thread neil

David, perfect summary, great post. Exactly my thoughts on this.

There is also an Eclipse version for Python, not used yet.

BTW: Is runtime performance comparable?

Thanks

On 11 Jun., 15:18, Lawrence Fitzpatrick fitzp...@gmail.com wrote:
 I believe that the GAE team has said they are committed to both, so
 you can probably take them at their word and expect to just timing
 differences as to when feature x appears on each platform.

 Therefore what remains is your learning curve and the type of language
 you prefer. Do you know Python or Java better? Why not start there? Do
 you prefer the more static type checking of Java or the more runtime
 type checking of Python?  I've found that most people naturally
 prefer, and hence are more productive, in one than the other.

 And lastly, which community do you prefer :)

 -fitz
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---