ソースを参照

get_replag() method for Site.

tags/v0.1^2
Ben Kurtovic 12年前
コミット
105a4eba8c
1個のファイルの変更13行の追加0行の削除
  1. +13
    -0
      bot/wiki/site.py

+ 13
- 0
bot/wiki/site.py ファイルの表示

@@ -39,6 +39,7 @@ class Site(object):
domain -- returns our web domain, like "en.wikipedia.org" domain -- returns our web domain, like "en.wikipedia.org"
api_query -- does an API query with the given kwargs as params api_query -- does an API query with the given kwargs as params
sql_query -- does an SQL query and yields its results sql_query -- does an SQL query and yields its results
get_replag -- returns the estimated database replication lag
namespace_id_to_name -- given a namespace ID, returns associated name(s) namespace_id_to_name -- given a namespace ID, returns associated name(s)
namespace_name_to_id -- given a namespace name, returns associated id namespace_name_to_id -- given a namespace name, returns associated id
get_page -- returns a Page object for the given title get_page -- returns a Page object for the given title
@@ -521,6 +522,18 @@ class Site(object):
for result in cur: for result in cur:
yield result yield result


def get_replag(self):
"""Return the estimated database replication lag in seconds.
Requires SQL access. This function only makes sense on a replicated
database (e.g. the Wikimedia Toolserver) and on a wiki that receives a
large number of edits (ideally, at least one per second), or the result
may be larger than expected.
"""
query = "SELECT NOW() - MAX(rev_timestamp) FROM revision"
result = list(self.sql_query(query))
return result[0][0]

def namespace_id_to_name(self, ns_id, all=False): def namespace_id_to_name(self, ns_id, all=False):
"""Given a namespace ID, returns associated namespace names. """Given a namespace ID, returns associated namespace names.




読み込み中…
キャンセル
保存