0

PloneからPythonPackageIndex APIを定期的に(1時間ごとに?)クエリしたい。同等のもの:

$ for i in `yolk -L 24 | awk '{print $1}'` # get releases made in last 24 hours
do
  # search for plone classifier
  results=`yolk -M $i -f classifiers  | grep -i plone`
  if [ $results ]; then
    echo $i
  fi
done

結果:

collective.sendaspdf
gocept.selenium
Products.EnhancedNewsItemImage
adi.workingcopyflag
Products.SimpleCalendarPortlet
Products.SimpleCalendar

次に、この情報をテンプレートに表示します。少なくとも最初は、結果を持続させる必要がないようにしたいと思います。

クエリが終了するのを待たずに結果をテンプレートに表示するにはどうすればよいですか?利用可能な非同期パッケージがいくつかあることを知っています。例:

しかし、一般的なアプローチがどうあるべきかわかりません(非同期タスクをスケジュールできると仮定すると、結果をどこかに保存する必要があるかもしれません。結果を保存する必要がある場合は、注釈などの「軽量」にすることをお勧めします。 )。

4

1 に答える 1

1

ローテクバージョンはどうですか?

cronジョブを使用してクエリを実行し、これを一時ファイルに入れてから、ファイル名にタイムスタンプを付けてファイルを既知の場所に移動します。

次に、誰かが問題のページ(新しいパッケージを表示)を要求したときに、その場所にある最新のファイルを読み取るだけです。

filename = sorted(os.listdir(location))[-1]
data = open(os.path.join(location, filename)).read()

移動を使用することにより、指定された場所にある最新のファイルが常に完全なファイルであり、部分的な結果が読み取られるのを防ぐことができます。

于 2012-11-02T13:27:06.187 に答える