On Fri, 25 May 2012 10:28:03 +0200, Svenne Krap wrote:
[...]
> The problem is that a later run of run_jobs() will not see the
> job_begun has been set by a prior run (that is unfinished - as all
> queries from the plpgsql-function runs in a single, huge
> transaction).
>
>
> My intitial idea was to set the isolation level to "read
> uncommitted"
> while doing the is-somebody-else-running-lookup, but I cannot change
> that in the plpgsql function (it complains that the session has to be
> empty - even when I have run nothing before it).
>
> Any ideas on how to solve the issue?
Add a sort of status table where you insert your unique job identifer
at the start of the function and remove it in the end? As seperate
transactions of course.
Jan
--
professional: http://www.oscar-consult.de
private: http://neslonek.homeunix.org/drupal/