0

我想定期(每小时?)从 Plone 查询 Python Package Index API。相当于:

$ 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-job 运行查询,将其放入临时文件中,然后将文件移动到已知位置,文件名中带有时间戳。

然后,当有人请求相关页面(显示新包)时,只需读取该位置的最新文件:

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

通过使用移动,您可以保证指定位置的最新文件始终是完整文件,避免读取部分结果。

于 2012-11-02T13:27:06.187 回答