summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormartinko2014-10-29 08:41:14 +0000
committermartinko2014-10-29 08:41:14 +0000
commit00586ba49f73737d239e3ea17febd3136ea6e87e (patch)
treea7a3f3c8f7023750c215b674558a6a97f30dc10d
parentce44959442968b3a641dfe462739597290d28b8e (diff)
parent808ebf8db0f0837f2d89d037eda24f93048d18a3 (diff)
Merge branch 'master' of https://github.com/markokr/skytools into hotfix/3.2.5
-rw-r--r--python/skytools/timeutil.py7
-rw-r--r--sql/pgq_node/functions/pgq_node.demote_root.sql3
-rw-r--r--sql/pgq_node/functions/pgq_node.promote_branch.sql3
3 files changed, 10 insertions, 3 deletions
diff --git a/python/skytools/timeutil.py b/python/skytools/timeutil.py
index c04756b8..ba4c2933 100644
--- a/python/skytools/timeutil.py
+++ b/python/skytools/timeutil.py
@@ -73,7 +73,8 @@ _iso_regex = r"""
(?P<year> \d\d\d\d) [-] (?P<month> \d\d) [-] (?P<day> \d\d) [ T]
(?P<hour> \d\d) [:] (?P<min> \d\d)
(?: [:] (?P<sec> \d\d ) (?: [.,] (?P<ss> \d+))? )?
- (?: \s* (?P<tzsign> [-+]) (?P<tzhr> \d\d) (?: [:]? (?P<tzmin> \d\d))? )?
+ (?: \s* (?P<tzsign> [-+]) (?P<tzhr> \d\d) (?: [:]? (?P<tzmin> \d\d))?
+ | (?P<tzname> Z ) )?
\s* $
"""
_iso_rc = None
@@ -104,6 +105,8 @@ def parse_iso_timestamp(s, default_tz = None):
'2005-06-01 15:00:59.330000+02:00'
>>> parse_iso_timestamp('2005-06-01 15:00-0530').strftime('%Y-%m-%d %H:%M %z %Z')
'2005-06-01 15:00 -0530 -05:30'
+ >>> parse_iso_timestamp('2014-10-27T11:59:13Z').strftime('%Y-%m-%d %H:%M:%S %z %Z')
+ '2014-10-27 11:59:13 +0000 +00'
"""
global _iso_rc
@@ -122,6 +125,8 @@ def parse_iso_timestamp(s, default_tz = None):
if m.group('tzsign') == '-':
tzofs = -tzofs
tz = FixedOffsetTimezone(tzofs)
+ elif m.group('tzname'):
+ tz = UTC
return datetime(int(m.group('year')),
int(m.group('month')),
diff --git a/sql/pgq_node/functions/pgq_node.demote_root.sql b/sql/pgq_node/functions/pgq_node.demote_root.sql
index d3f68d03..a1c67aaf 100644
--- a/sql/pgq_node/functions/pgq_node.demote_root.sql
+++ b/sql/pgq_node/functions/pgq_node.demote_root.sql
@@ -36,7 +36,8 @@ declare
begin
select node_type, worker_name into n_type, w_name
from pgq_node.node_info
- where queue_name = i_queue_name;
+ where queue_name = i_queue_name
+ for update;
if not found then
select 404, 'Node not initialized for queue: ' || i_queue_name
into ret_code, ret_note;
diff --git a/sql/pgq_node/functions/pgq_node.promote_branch.sql b/sql/pgq_node/functions/pgq_node.promote_branch.sql
index 9e2c7a26..c19511a9 100644
--- a/sql/pgq_node/functions/pgq_node.promote_branch.sql
+++ b/sql/pgq_node/functions/pgq_node.promote_branch.sql
@@ -26,7 +26,8 @@ declare
begin
select node_name, node_type, worker_name into n_name, n_type, w_name
from pgq_node.node_info
- where queue_name = i_queue_name;
+ where queue_name = i_queue_name
+ for update;
if not found then
select 404, 'Node not initialized for queue: ' || i_queue_name
into ret_code, ret_note;