This is a short tutorial on setting up munin to monitor your Django website on ec2.
We're gonna be using Nginx instead of apache here because it's more lightweight and popular between Django developers.
| /var/log/supervisor/*.log { | |
| weekly | |
| rotate 52 | |
| compress | |
| delaycompress | |
| notifempty | |
| missingok | |
| copytruncate | |
| } |
This is an example of how to use the Google Drive file picker and Google Drive API to retrieve files from Google Drive using pure JavaScript. At the time of writing (14th July 2013), Google have good examples for using these two APIs separately, but no documentation on using them together.
Note that this is just sample code, designed to be concise to demonstrate the API. In a production environment, you should include more error handling.
See a demo at http://stuff.dan.cx/js/filepicker/google/
| import gdata | |
| import json | |
| import requests | |
| # More examples: | |
| # https://github.com/millioner/Python-contact-importer/blob/master/contact_importer/providers/google.py | |
| # https://github.com/jtauber/django-friends/blob/master/friends/importer.py | |
| # GData with access token | |
| token = gdata.gauth.OAuth2Token( |
| import gdata | |
| import json | |
| import requests | |
| # More examples: | |
| # https://github.com/millioner/Python-contact-importer/blob/master/contact_importer/providers/google.py | |
| # https://github.com/jtauber/django-friends/blob/master/friends/importer.py | |
| # GData with access token | |
| token = gdata.gauth.OAuth2Token( |
| import time | |
| def RateLimited(maxPerSecond): | |
| minInterval = 1.0 / float(maxPerSecond) | |
| def decorate(func): | |
| lastTimeCalled = [0.0] | |
| def rateLimitedFunction(*args,**kargs): | |
| elapsed = time.clock() - lastTimeCalled[0] | |
| leftToWait = minInterval - elapsed | |
| if leftToWait>0: |
| from threading import Timer | |
| def debounce(wait): | |
| """ Decorator that will postpone a functions | |
| execution until after wait seconds | |
| have elapsed since the last time it was invoked. """ | |
| def decorator(fn): | |
| def debounced(*args, **kwargs): | |
| def call_it(): |
Google+ Domains API are meant to interact with your G+ accounts in the domain. With these APIs you can manage circles, read and write posts, shares, and comments etc.. more informations here
This tutorial is for creating an application that uses the Domains API, running on Google App Engine with python.
| #! /bin/sh | |
| ### BEGIN INIT INFO | |
| # Provides: supervisord | |
| # Required-Start: $remote_fs | |
| # Required-Stop: $remote_fs | |
| # Default-Start: 2 3 4 5 | |
| # Default-Stop: 0 1 6 | |
| # Short-Description: Example initscript | |
| # Description: This file should be used to construct scripts to be | |
| # placed in /etc/init.d. |
| #! /bin/sh | |
| ### BEGIN INIT INFO | |
| # Provides: supervisord | |
| # Required-Start: $remote_fs | |
| # Required-Stop: $remote_fs | |
| # Default-Start: 2 3 4 5 | |
| # Default-Stop: 0 1 6 | |
| # Short-Description: Example initscript | |
| # Description: This file should be used to construct scripts to be | |
| # placed in /etc/init.d. |