Skip to content

Commit d776b8d

Browse files
authored
Merge pull request #26 from eea/develop
Merged develop into master
2 parents 06011b8 + dc17005 commit d776b8d

File tree

4 files changed

+48
-5
lines changed

4 files changed

+48
-5
lines changed

Products/Reportek/EnvelopeInstance.py

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,7 @@ def forwardState(self, REQUEST=None):
551551
""".."""
552552
result = {}
553553
engine = getattr(self, ENGINE_ID)
554+
rmq = getattr(engine, 'env_fwd_rmq', False)
554555
if getattr(self, 'wf_status', None) == 'forward':
555556
wks = self.getListOfWorkitems()
556557
wk = wks[-1]
@@ -569,6 +570,12 @@ def forwardState(self, REQUEST=None):
569570
else:
570571
if self.wf_status == 'forward':
571572
wk.triggerApplication(wk.id, REQUEST)
573+
if rmq:
574+
activity = self.getActivity(wk.id)
575+
queue_msg(
576+
"{}|{}".format(self.absolute_url(),
577+
self.get_freq(wk.id)),
578+
queue=self.get_rmq_queue(activity.getId()))
572579
result['triggered'] = wk.activity_id
573580

574581
return engine.jsonify(result)
@@ -636,6 +643,23 @@ def getDestinations(self, workitem_id, path=None):
636643
'process_to_id': process.id})
637644
return destinations
638645

646+
def get_rmq_queue(self, act_id):
647+
queue = 'fwd_envelopes'
648+
# Uncomment to allow for separate queues based on Activity
649+
# if act_id in ['AutomaticQA', 'FMEConversionApplication']:
650+
# queue = 'poll_envelopes'
651+
return queue
652+
653+
def get_freq(self, workitem_id):
654+
"""Return the frequency at which the application should be exec
655+
"""
656+
freq = 1
657+
application_url = self.getApplicationUrl(workitem_id)
658+
application = self.unrestrictedTraverse(application_url, None)
659+
if application:
660+
freq = int(getattr(application, 'retryFrequency', freq))
661+
return freq
662+
639663
def handleWorkitem(self, workitem_id, REQUEST=None):
640664
# If it's a previously failed application, retry it, otherwise forward
641665
# it
@@ -653,9 +677,12 @@ def handleWorkitem(self, workitem_id, REQUEST=None):
653677
if activity.isAutoStart():
654678
self.wf_status = 'forward'
655679
self.reindex_object()
656-
if rmq:
657-
queue_msg(self.absolute_url(), queue='fwd_envelopes')
658680
self.startAutomaticApplication(workitem_id)
681+
if rmq:
682+
queue_msg(
683+
"{}|{}".format(self.absolute_url(),
684+
self.get_freq(workitem_id)),
685+
queue=self.get_rmq_queue(activity.getId()))
659686
else:
660687
self.wf_status = 'manual'
661688
self.reindex_object()
@@ -920,9 +947,12 @@ def manageWorkitemCreation(self, workitem_id):
920947
if activity.isAutoStart():
921948
self.wf_status = 'forward'
922949
self.reindex_object()
923-
if rmq:
924-
queue_msg(self.absolute_url(), queue='fwd_envelopes')
925950
self.startAutomaticApplication(workitem_id)
951+
if rmq:
952+
queue_msg(
953+
"{}|{}".format(self.absolute_url(),
954+
self.get_freq(workitem_id)),
955+
queue=self.get_rmq_queue(activity.getId()))
926956
else:
927957
self.wf_status = 'manual'
928958
self.reindex_object()

Products/Reportek/version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.7
1+
4.8

Products/Reportek/views/envelope_utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,14 @@ def env_long_running_aqa(self):
264264

265265
return json.dumps(envelopes)
266266

267+
def get_rmq_queue(self, act_id):
268+
queue = 'fwd_envelopes'
269+
# Uncomment to allow for separate queues based on Activity
270+
# if act_id in ['AutomaticQA', 'FMEConversionApplication']:
271+
# queue = 'poll_envelopes'
272+
273+
return queue
274+
267275
def forwardable_envelopes(self):
268276
pub_envs = self.request.get('envelopes', [])
269277
if self.request.get('btn.publish') and not pub_envs:
@@ -273,6 +281,7 @@ def forwardable_envelopes(self):
273281
if self.rmq_fwd:
274282
for env in pub_envs:
275283
try:
284+
# TODO: dynamically set the queue here
276285
send_message(env, queue='fwd_envelopes')
277286
results.append({
278287
'envelope': env,

docs/HISTORY.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
Changelog
22
=========
33

4+
4.8 - (2022-01-25)
5+
---------------------------
6+
* Change: Develop [olimpiurob]
7+
48
4.3 - (2022-01-10)
59
---------------------------
610
"documentation_url": "https://docs.github.com/rest/reference/repos#get-repository-content"

0 commit comments

Comments
 (0)