now() always returns the transaction start timestamp.
Might that be it ?
Karsten
On Tue, Dec 31, 2013 at 11:44:46AM +0000, Krystian Samp wrote:
> Hello everyone,
>
> I’ve been struggling with an issue for 2 days now and couldn’t find the answer via google search.
>
> here’s a method of my db class:
>
> def get_old_feeds( self, not_refreshed_for_secs ):
> cursor = self.connection.cursor( cursor_factory = psycopg2.extras.RealDictCursor )
> cursor.execute( "SELECT id, url FROM feeds WHERE refreshed_on is not NULL AND refreshed_on < ( now() -
interval'%s seconds' );", ( not_refreshed_for_secs, ) )
> old_feeds = cursor.fetchall()
> cursor.close()
> return old_feeds
>
> there’s a loop that invokes this method every X minutes. All “old_feeds” get their value for “refreshed_on” updated
tothe current date when processed using this method:
>
> def set_feed_last_refresh( self, feed_id, refresh_datetime ):
> cursor = self.connection.cursor()
> cursor.execute( "UPDATE feeds SET refreshed_on = %s WHERE id = %s;", ( refresh_datetime, feed_id ) )
> self.connection.commit()
> cursor.close()
>
> The problem is that the select query in the first method returns some results only the first time it is run, all
subsequentexecutions give 0 results. The odd thing is that when I issue exactly the same query via pgAdmin I get the
resultsas one would expect.
>
> I’d highly appreciate your help with this issue,
>
> Thank you,
> Krystian
>
> --
> Sent via psycopg mailing list (psycopg@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/psycopg
--
GPG key ID E4071346 @ gpg-keyserver.de
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346