
レスポンスを早くしたい。(python)
google app engine/pythonを利用してまとめのまとめサイトを作成しているのですが、レスポンスにかなり時間がかかってしまいます。
rssをただ上書きでページに表示するのではなく、過去に配信された記事(このrss配列に保存した日から)は全て保存しておきたいです。
恐らく下記関数の部分が重いと思うのですが、なんとか改善することはできないでしょうか?
※全角スペースでインデントしています。
from google.appengine.ext import webapp
from google.appengine.ext import db
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app
import os
import cgi
import math
import datetime
import feedparser
def Rss():
rss = [
["http://hoge1.com/index.rdf",u"サイト名1","http://hoge1.com/"],
["http://hoge2.com/index.rdf",u"サイト名2","http://hoge2.com/"],
["http://hoge3.com/index.rdf",u"サイト名3","http://hoge3.com/"],
["http://hoge4.com/index.rdf",u"サイト名4","http://hoge4.com/"],
["http://hoge5.com/index.rdf",u"サイト名5","http://hoge5.com/"],
["http://hoge6.com/index.rdf",u"サイト名6","http://hoge6.com/"]]
for r in range(len(rss)):
f = feedparser.parse(rss[r][0])
results = Nich.all().filter('site_url =', rss[r][2]).order('-date').fetch(limit=1)
if results:
for i in range(0,len(f.entries)):
date = datetime.datetime.strptime(f.entries[i].updated,'%Y-%m-%dT%H:%M:%S+09:00')
for result in results:
if result.date < date:
nich = Nich()
nich.e_title = f.entries[i].title
nich.e_body = f.entries[i].summary.replace('\n',' ')
nich.e_url = f.entries[i].links[0].href
nich.site = rss[r][1]
nich.site_url = rss[r][2]
nich.hit = 0;
nich.date = date
nich.put()
else:
for i in range(0,len(f.entries)):
date = datetime.datetime.strptime(f.entries[i].updated,'%Y-%m-%dT%H:%M:%S+09:00')
nich = Nich()
nich.e_title = f.entries[i].title
nich.e_body = f.entries[i].summary.replace('\n',' ')
nich.e_url = f.entries[i].links[0].href
nich.site = rss[r][1]
nich.site_url = rss[r][2]
nich.hit = 0;
nich.date = date
nich.put()
現在、ダッシュボードのAvg CPU (API)という項目が、平均して4000(3000)という状態です。赤文字です。
意味不明な部分があれば言ってくださればすぐに補足しますので、どうか宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
開始と終了を指定して、その間...
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
shシェルスクリプト 空白行の...
-
ps3で久しぶりにCDの音楽情報取...
-
【C#】DataGridViewの最大列数...
-
Dosブロンプトでtabを出力したい
-
findstrのerrorlevel
-
wordの差し込み印刷で文字...
-
XMLのタグの有無をPHPで判定し...
-
VB.NETでボリュームを取得・設...
-
INIファイル
-
VBA内でのGetPixelを使用した時...
-
Google scholarがひらけなくな...
-
完全なセッション破棄をしたい
-
ExcelVBAで、FileSystemObject...
-
WordでExcelデータを差込...
-
VB.NETからVBAマクロ(引数)を呼...
-
webサイトの参考資料:サイト名 ...
-
ActiveReportのサブレポート機...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
C言語を使って、ある特定の日の...
-
コマンドプロンプト 日時を用...
-
MS-DOSコマンドのリダイ...
-
過去にVBAでの「シフト表の何日...
-
プルダウンメニューの値をDBに...
-
Accessで、DAOでAddnew
-
substrの使い方について教えて...
-
ASPでの日付の取得について
-
一週間の表示の仕方と文字表示
-
日付によって画像を変える
-
Accessコンボボックス
-
現在時刻をyyyymmddhhmmss形式...
-
VBAでのDATEについて
-
codeigniterの時間設定
-
C言語でシステム日付との差を...
-
md5について
-
昨日の日付を取得するVBscript
-
SQL:TIMESTAMPの期間検索を指...
おすすめ情報