wmglobalqueue 2.3.10.3__py3-none-any.whl → 2.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of wmglobalqueue might be problematic. Click here for more details.

Files changed (102) hide show
  1. Utils/ProcFS.py +112 -0
  2. Utils/ProcessStats.py +90 -1
  3. Utils/Utilities.py +10 -0
  4. WMCore/Database/DBExceptionHandler.py +3 -1
  5. WMCore/REST/Main.py +13 -0
  6. WMCore/Services/DBS/DBSErrors.py +0 -1
  7. WMCore/Services/DBS/DBSUtils.py +27 -0
  8. WMCore/WMLogging.py +1 -5
  9. WMCore/__init__.py +1 -1
  10. {wmglobalqueue-2.3.10.3.dist-info → wmglobalqueue-2.4.0.dist-info}/METADATA +2 -2
  11. {wmglobalqueue-2.3.10.3.dist-info → wmglobalqueue-2.4.0.dist-info}/RECORD +102 -101
  12. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/bin/wmc-dist-patch +0 -0
  13. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/bin/wmc-dist-unpatch +0 -0
  14. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/bin/wmc-httpd +0 -0
  15. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/.couchapprc +0 -0
  16. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/README.md +0 -0
  17. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/_attachments/index.html +0 -0
  18. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/_attachments/js/ElementInfoByWorkflow.js +0 -0
  19. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/_attachments/js/StuckElementInfo.js +0 -0
  20. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/_attachments/js/WorkloadInfoTable.js +0 -0
  21. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/_attachments/js/dataTable.js +0 -0
  22. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/_attachments/js/namespace.js +0 -0
  23. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/_attachments/style/main.css +0 -0
  24. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/couchapp.json +0 -0
  25. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/filters/childQueueFilter.js +0 -0
  26. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/filters/filterDeletedDocs.js +0 -0
  27. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/filters/queueFilter.js +0 -0
  28. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/language +0 -0
  29. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/lib/mustache.js +0 -0
  30. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/lib/validate.js +0 -0
  31. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/lib/workqueue_utils.js +0 -0
  32. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/lists/elementsDetail.js +0 -0
  33. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/lists/filter.js +0 -0
  34. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/lists/stuckElements.js +0 -0
  35. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/lists/workRestrictions.js +0 -0
  36. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/lists/workflowSummary.js +0 -0
  37. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/rewrites.json +0 -0
  38. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/shows/redirect.js +0 -0
  39. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/shows/status.js +0 -0
  40. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/templates/ElementSummaryByWorkflow.html +0 -0
  41. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/templates/StuckElementSummary.html +0 -0
  42. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/templates/TaskStatus.html +0 -0
  43. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/templates/WorkflowSummary.html +0 -0
  44. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/templates/partials/workqueue-common-lib.html +0 -0
  45. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/templates/partials/yui-lib-remote.html +0 -0
  46. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/templates/partials/yui-lib.html +0 -0
  47. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/updates/in-place.js +0 -0
  48. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/validate_doc_update.js +0 -0
  49. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/vendor/couchapp/_attachments/jquery.couch.app.js +0 -0
  50. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/vendor/couchapp/_attachments/jquery.pathbinder.js +0 -0
  51. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/activeData/map.js +0 -0
  52. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/activeData/reduce.js +0 -0
  53. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/activeParentData/map.js +0 -0
  54. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/activeParentData/reduce.js +0 -0
  55. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/activePileupData/map.js +0 -0
  56. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/activePileupData/reduce.js +0 -0
  57. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/analyticsData/map.js +0 -0
  58. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/analyticsData/reduce.js +0 -0
  59. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/availableByPriority/map.js +0 -0
  60. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/conflicts/map.js +0 -0
  61. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elements/map.js +0 -0
  62. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elementsByData/map.js +0 -0
  63. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elementsByParent/map.js +0 -0
  64. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elementsByParentData/map.js +0 -0
  65. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elementsByPileupData/map.js +0 -0
  66. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elementsByStatus/map.js +0 -0
  67. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elementsBySubscription/map.js +0 -0
  68. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elementsByWorkflow/map.js +0 -0
  69. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elementsByWorkflow/reduce.js +0 -0
  70. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/elementsDetailByWorkflowAndStatus/map.js +0 -0
  71. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobInjectStatusByRequest/map.js +0 -0
  72. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobInjectStatusByRequest/reduce.js +0 -0
  73. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobStatusByRequest/map.js +0 -0
  74. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobStatusByRequest/reduce.js +0 -0
  75. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndPriority/map.js +0 -0
  76. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndPriority/reduce.js +0 -0
  77. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndStatus/map.js +0 -0
  78. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndStatus/reduce.js +0 -0
  79. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByRequest/map.js +0 -0
  80. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByRequest/reduce.js +0 -0
  81. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByStatus/map.js +0 -0
  82. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByStatus/reduce.js +0 -0
  83. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByStatusAndPriority/map.js +0 -0
  84. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/jobsByStatusAndPriority/reduce.js +0 -0
  85. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/openRequests/map.js +0 -0
  86. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/recent-items/map.js +0 -0
  87. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/siteWhitelistByRequest/map.js +0 -0
  88. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/siteWhitelistByRequest/reduce.js +0 -0
  89. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/specsByWorkflow/map.js +0 -0
  90. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/stuckElements/map.js +0 -0
  91. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/wmbsInjectStatusByRequest/map.js +0 -0
  92. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/wmbsInjectStatusByRequest/reduce.js +0 -0
  93. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/wmbsUrl/map.js +0 -0
  94. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/wmbsUrl/reduce.js +0 -0
  95. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/wmbsUrlByRequest/map.js +0 -0
  96. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/wmbsUrlByRequest/reduce.js +0 -0
  97. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/workflowSummary/map.js +0 -0
  98. {wmglobalqueue-2.3.10.3.data → wmglobalqueue-2.4.0.data}/data/data/couchapps/WorkQueue/views/workflowSummary/reduce.js +0 -0
  99. {wmglobalqueue-2.3.10.3.dist-info → wmglobalqueue-2.4.0.dist-info}/LICENSE +0 -0
  100. {wmglobalqueue-2.3.10.3.dist-info → wmglobalqueue-2.4.0.dist-info}/NOTICE +0 -0
  101. {wmglobalqueue-2.3.10.3.dist-info → wmglobalqueue-2.4.0.dist-info}/WHEEL +0 -0
  102. {wmglobalqueue-2.3.10.3.dist-info → wmglobalqueue-2.4.0.dist-info}/top_level.txt +0 -0
Utils/ProcFS.py ADDED
@@ -0,0 +1,112 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ """
4
+ File : ProcFS.py
5
+ Author : Valentin Kuznetsov <vkuznet AT gmail dot com>
6
+ Description: This module provides function which rely on Linux proc fs
7
+ """
8
+ # system modules
9
+ import os
10
+
11
+ # 3rd party modules
12
+ try:
13
+ import psutil
14
+ usePsutil = True
15
+ except ImportError:
16
+ usePsutil = False
17
+
18
+
19
+ def processStatus(pid, method=None):
20
+ """
21
+ Return status of the given process PID along with its threads using psutil.
22
+ :param pid: Process ID to inspect
23
+ :param method: define which method to use procfs or psutil
24
+ :return: list of dictionaries of `{process, pid, status}` data-structure
25
+ """
26
+ if method == 'procfs' or usePsutil == False:
27
+ return processStatusViaProcFS(pid)
28
+ return processStatusViaPsutil(pid)
29
+
30
+
31
+ def processStatusViaPsutil(pid):
32
+ """
33
+ Return status of the given process PID along with its threads using psutil.
34
+ :param pid: Process ID to inspect
35
+ :return: list of dictionaries with {process, pid, status, type}
36
+ """
37
+ statusList = []
38
+
39
+ try:
40
+ proc = psutil.Process(int(pid))
41
+ processName = proc.name()
42
+ processStatus = proc.status()
43
+ statusList.append({
44
+ "process": processName,
45
+ "pid": str(pid),
46
+ "status": processStatus,
47
+ "type": "process"
48
+ })
49
+
50
+ # Iterate over threads
51
+ threads = proc.threads()
52
+ for thread in threads:
53
+ if str(pid) == str(thread.id):
54
+ continue
55
+ threadId = thread.id
56
+ # psutil doesn't provide thread name or detailed state, so we approximate
57
+ statusList.append({
58
+ "process": f"{processName}-thread",
59
+ "pid": str(threadId),
60
+ "status": "running", # threads are assumed running if present
61
+ "type": "thread"
62
+ })
63
+
64
+ except psutil.NoSuchProcess:
65
+ return [{"error": f"Process {pid} not found"}]
66
+ except Exception as e:
67
+ return [{"error": str(e)}]
68
+
69
+ return statusList
70
+
71
+
72
+ def processStatusViaProcFS(pid):
73
+ """
74
+ Return status of given process PID along with its threads via /proc FS look-up (available on all Linux OSes)
75
+ :return: list of dictionaries of `{process, pid, status}` data-structure
76
+ """
77
+ statusList = []
78
+ procPath = f"/proc/{pid}"
79
+
80
+ if not os.path.exists(procPath):
81
+ return [{"error": f"Process {pid} not found"}]
82
+
83
+ try:
84
+ with open(f"{procPath}/status", encoding='utf-8') as f:
85
+ processName = ""
86
+ processState = ""
87
+ for line in f:
88
+ if line.startswith("Name:"):
89
+ processName = line.split(":")[1].strip()
90
+ elif line.startswith("State:"):
91
+ processState = line.split(":")[1].strip()
92
+ statusList.append({"process": processName, "pid": str(pid), "status": processState, "type": "process"})
93
+
94
+ taskPath = f"{procPath}/task"
95
+ if os.path.exists(taskPath):
96
+ for threadId in os.listdir(taskPath):
97
+ if str(threadId) == str(pid):
98
+ continue
99
+ with open(f"{taskPath}/{threadId}/status", encoding='utf-8') as f:
100
+ threadName = ""
101
+ threadState = ""
102
+ for line in f:
103
+ if line.startswith("Name:"):
104
+ threadName = line.split(":")[1].strip()
105
+ elif line.startswith("State:"):
106
+ threadState = line.split(":")[1].strip()
107
+ statusList.append({"process": threadName, "pid": threadId, "status": threadState, "type": "thread"})
108
+
109
+ except Exception as e:
110
+ return [{"error": str(e)}]
111
+
112
+ return statusList
Utils/ProcessStats.py CHANGED
@@ -89,6 +89,90 @@ def threadStack():
89
89
  threads.append(tdict)
90
90
  return dict(threads=threads)
91
91
 
92
+ def processThreadsInfo(pid):
93
+ """
94
+ Provides information about process and its threads using psutils
95
+ :param pid: process PID, string
96
+ :return: dictionary statistics about process and threads
97
+ """
98
+ try:
99
+ process = psutil.Process(pid)
100
+
101
+ # Get overall process details
102
+ process_info = {
103
+ "process_name": process.name(),
104
+ "pid": process.pid,
105
+ "status": process.status(),
106
+ "ppid": process.ppid(), # Parent Process ID
107
+ "cmdline": process.cmdline(), # Full command-line arguments
108
+ "cpu_usage_percent": process.cpu_percent(interval=1.0), # CPU usage in percentage
109
+ "memory_usage_percent": process.memory_percent(), # RAM usage in percentage
110
+ "memory_rss": process.memory_info().rss, # Resident Set Size (bytes)
111
+ "num_open_files": len(process.open_files()), # Number of open file descriptors
112
+ "num_connections": len(process.connections()), # Number of active connections
113
+ "threads": []
114
+ }
115
+
116
+ # Iterate over threads to get per-thread details
117
+ for thread in process.threads():
118
+ if str(pid) == str(thread.id):
119
+ continue
120
+ thread_id = thread.id
121
+
122
+ thread_info = {
123
+ "thread_id": thread_id,
124
+ "user_time": thread.user_time, # CPU time spent in user mode
125
+ "system_time": thread.system_time, # CPU time spent in system mode
126
+ "cpu_usage_percent": None,
127
+ "memory_usage_bytes": None,
128
+ "num_open_files": None,
129
+ "num_connections": None,
130
+ "state": "unknown",
131
+ "name": "thread"
132
+ }
133
+ if str(pid) == str(thread_id):
134
+ thread_info['name'] = "process"
135
+
136
+ # Try getting thread status
137
+ try:
138
+ thread_status = psutil.Process(thread_id).status()
139
+ thread_info["state"] = thread_status
140
+ except psutil.NoSuchProcess:
141
+ thread_info["state"] = "zombie"
142
+
143
+ # Try getting per-thread CPU usage
144
+ try:
145
+ thread_info["cpu_usage_percent"] = psutil.Process(thread_id).cpu_percent(interval=1.0)
146
+ except Exception:
147
+ thread_info["cpu_usage_percent"] = "N/A"
148
+
149
+ # Try getting per-thread memory usage
150
+ try:
151
+ thread_info["memory_usage_bytes"] = psutil.Process(thread_id).memory_info().rss
152
+ except Exception:
153
+ thread_info["memory_usage_bytes"] = "N/A"
154
+
155
+ # Try getting per-thread open file descriptors
156
+ try:
157
+ thread_info["num_open_files"] = len(psutil.Process(thread_id).open_files())
158
+ except Exception:
159
+ thread_info["num_open_files"] = "N/A"
160
+
161
+ # Try getting per-thread open connections
162
+ try:
163
+ thread_info["num_connections"] = len(psutil.Process(thread_id).connections())
164
+ except Exception:
165
+ thread_info["num_connections"] = "N/A"
166
+
167
+ # Append to process_info
168
+ process_info["threads"].append(thread_info)
169
+
170
+ return process_info
171
+ except psutil.NoSuchProcess:
172
+ return {"error": f"No process found with PID {pid}"}
173
+ except Exception as e:
174
+ return {"error": str(e)}
175
+
92
176
  def main():
93
177
  "Main function to use this module as a stand-along script."
94
178
  parser = argparse.ArgumentParser(prog='PROG')
@@ -97,7 +181,12 @@ def main():
97
181
 
98
182
  pdict = processStatus(int(opts.pid))
99
183
  pdict.update(threadStack())
100
- print(json.dumps(pdict))
184
+ print(f"Process status for {opts.pid}")
185
+ print(json.dumps(pdict, indent=4))
186
+
187
+ processInfo = processThreadsInfo(int(opts.pid))
188
+ print(f"Process/threads status for {opts.pid}")
189
+ print(json.dumps(processInfo, indent=4))
101
190
 
102
191
  if __name__ == '__main__':
103
192
  main()
Utils/Utilities.py CHANGED
@@ -11,6 +11,16 @@ import sys
11
11
  from types import ModuleType, FunctionType
12
12
  from gc import get_referents
13
13
 
14
+ import xml.etree.ElementTree as ET
15
+
16
+ def extractFromXML(xmlFile, xmlElement):
17
+ tree = ET.parse(xmlFile)
18
+ root = tree.getroot()
19
+ element = root.find(f".//{xmlElement}")
20
+ if element is not None:
21
+ return element.get("Value")
22
+ return None
23
+
14
24
  def lowerCmsHeaders(headers):
15
25
  """
16
26
  Lower CMS headers in provided header's dict. The WMCore Authentication
@@ -15,10 +15,12 @@ import threading
15
15
  # (cx_Oracle.InterfaceError) not connected # same as ORA-03114, in the new SQLAlchemy
16
16
  # (cx_Oracle.DatabaseError) ORA-25408: can not safely replay call
17
17
  # (cx_Oracle.DatabaseError) ORA-25401: can not continue fetches
18
+ # (cx_Oracle.DatabaseError) DPI-1080: connection was closed by ORA-3113
18
19
  # and those two MySQL exceptions
19
20
  DB_CONNECTION_ERROR_STR = ["ORA-03113", "ORA-03114", "ORA-03135", "ORA-12545", "ORA-00060", "ORA-01033",
20
21
  "MySQL server has gone away", "Lock wait timeout exceeded",
21
- "(cx_Oracle.InterfaceError) not connected", "ORA-25408", "ORA-25401"]
22
+ "(cx_Oracle.InterfaceError) not connected", "ORA-25408", "ORA-25401",
23
+ "DPI-1080: connection was closed by ORA"]
22
24
 
23
25
 
24
26
  def db_exception_handler(f):
WMCore/REST/Main.py CHANGED
@@ -79,6 +79,18 @@ def sig_graceful(signum=None, frame=None):
79
79
  cherrypy.engine.graceful()
80
80
 
81
81
 
82
+ @cherrypy.tools.register('before_request_body')
83
+ def add_content_length_if_missing():
84
+ """
85
+ The WM web framework explicitly requires Content-Length equal 0 HTTP header for HTTP DELETE requests
86
+ when payload body is nil. Here we provide new method to explicitly set it here. See discusion in
87
+ https://github.com/dmwm/WMCore/pull/12371
88
+ """
89
+ if cherrypy.request.method == "DELETE":
90
+ if cherrypy.request.headers.get("Content-Length") is None:
91
+ cherrypy.request.headers["Content-Length"] = "0"
92
+
93
+
82
94
  class ProfiledApp(Application):
83
95
  """Wrapper CherryPy Application object which generates aggregated
84
96
  profiles for the component on each call. Note that there needs to
@@ -204,6 +216,7 @@ class RESTMain(object):
204
216
  # Set default server configuration.
205
217
  cherrypy.log = Logger()
206
218
 
219
+ cpconfig.update({'tools.add_content_length_if_missing.on': True})
207
220
  cpconfig.update({'server.max_request_body_size': 0})
208
221
  cpconfig.update({'server.environment': 'production'})
209
222
  cpconfig.update({'server.socket_host': '0.0.0.0'})
@@ -3,7 +3,6 @@
3
3
  DBSErrors represents generic class to handle DBS Go server errors
4
4
  """
5
5
 
6
-
7
6
  import json
8
7
 
9
8
  from WMCore.Services.DBS.ProdException import ProdException
@@ -7,12 +7,14 @@ set of common utilities for DBS3Reader
7
7
  """
8
8
  import json
9
9
  import urllib
10
+ import logging
10
11
  from urllib.parse import urlparse, parse_qs, quote_plus
11
12
  from collections import defaultdict
12
13
 
13
14
  from Utils.CertTools import cert, ckey
14
15
  from dbs.apis.dbsClient import aggFileLumis, aggFileParents
15
16
  from WMCore.Services.pycurl_manager import getdata as multi_getdata
17
+ from WMCore.Services.pycurl_manager import RequestHandler
16
18
  from Utils.PortForward import PortForward
17
19
 
18
20
 
@@ -137,3 +139,28 @@ def urlParams(url):
137
139
  if len(vals) == 1:
138
140
  rdict[key] = vals[0]
139
141
  return rdict
142
+
143
+ def DBSErrors(dbsUrl):
144
+ """
145
+ Fetch and return all DBS server errors
146
+ :param dbsUrl: DBS url to use
147
+ :return: dictionary of DBS server errors and their meaning
148
+ """
149
+ dbsErrors = {}
150
+ method = "GET"
151
+ payload = {}
152
+ headers = {'Content-Type': 'application/json'}
153
+ mgr = RequestHandler()
154
+ # dbs server url for error codes
155
+ rurl = f"{dbsUrl}/errors"
156
+ data = "" # initialize data variable to be used in logging.error if necessary
157
+ try:
158
+ data = mgr.getdata(rurl, payload, headers, verb=method, ckey=ckey(), cert=cert())
159
+ # check if we received proper data from DBS server
160
+ if 'code' in str(data) and 'meaning' in str(data):
161
+ errorCodes = json.loads(data)
162
+ for row in errorCodes:
163
+ dbsErrors[row['code']] = row['meaning']
164
+ except Exception as exp:
165
+ logging.error("Unable to query DBS url %s, error %s, data=%s", dbsUrl, str(exp), data)
166
+ return dbsErrors
WMCore/WMLogging.py CHANGED
@@ -5,7 +5,6 @@ _WMLogging_
5
5
  Logging facilities used in WMCore.
6
6
  """
7
7
  import logging
8
- import codecs
9
8
  from datetime import date, timedelta
10
9
  from logging.handlers import HTTPHandler, RotatingFileHandler, TimedRotatingFileHandler
11
10
 
@@ -78,10 +77,7 @@ class MyTimedRotatingFileHandler(TimedRotatingFileHandler):
78
77
  yesterdayStr = (date.today() - timedelta(1)).strftime("%Y%m%d")
79
78
  todayStr = date.today().strftime("%Y%m%d")
80
79
  self.baseFilename = self.baseFilename.replace(yesterdayStr, todayStr)
81
- if self.encoding:
82
- self.stream = codecs.open(self.baseFilename, 'w', self.encoding)
83
- else:
84
- self.stream = open(self.baseFilename, 'w')
80
+ self.stream = open(self.baseFilename, 'w', encoding='utf-8')
85
81
  self.rolloverAt = self.rolloverAt + self.interval
86
82
 
87
83
 
WMCore/__init__.py CHANGED
@@ -6,5 +6,5 @@ Core libraries for Workload Management Packages
6
6
 
7
7
  """
8
8
 
9
- __version__ = '2.3.10.3'
9
+ __version__ = '2.4.0'
10
10
  __all__ = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wmglobalqueue
3
- Version: 2.3.10.3
3
+ Version: 2.4.0
4
4
  Summary: UNKNOWN
5
5
  Home-page: https://github.com/dmwm/WMCore
6
6
  Maintainer: CMS DMWM Group
@@ -10,7 +10,7 @@ Platform: UNKNOWN
10
10
  Requires-Dist: CherryPy~=18.8.0
11
11
  Requires-Dist: CMSMonitoring~=0.6.10
12
12
  Requires-Dist: dbs3-client==4.0.19
13
- Requires-Dist: future~=0.18.2
13
+ Requires-Dist: future~=1.0.0
14
14
  Requires-Dist: httplib2~=0.20.4
15
15
  Requires-Dist: psutil~=5.9.1
16
16
  Requires-Dist: pycurl~=7.45.4
@@ -9,7 +9,8 @@ Utils/MemoryCache.py,sha256=jFjfzuqhbNZhsOvFthBHp82N0SBy4TQE8yAiA484UVM,4632
9
9
  Utils/Patterns.py,sha256=aahsKt5sostQJMarLnjbuXrSoZ-zRbahRjDWlIPH2Nk,700
10
10
  Utils/Pipeline.py,sha256=gDhNPmudqGGPDB8H6s1rscHHOPjWh2sa6BTmyUdKb6E,4697
11
11
  Utils/PortForward.py,sha256=gA0pAMSzUnwCb_bdXBveahUEASMYHhsRq5UPYorbSqY,3891
12
- Utils/ProcessStats.py,sha256=Ba1e3ddqCLxswRzfY_F7sXdyCkJCW2_haLe8ikXBzOA,3410
12
+ Utils/ProcFS.py,sha256=DKXy72991TyOf8KufWcztF0gW2aXJFb8qpWSAFMlqOg,3762
13
+ Utils/ProcessStats.py,sha256=bjMM0BHscKVKjyyD3IaaboqlInujWoT_TLH_6VSPoCk,6997
13
14
  Utils/PythonVersion.py,sha256=R4gCXNcRvum4HBPcEtDrFsJYBKPMcgvCmITwuUuzNPc,481
14
15
  Utils/Signals.py,sha256=ed126hvI9-rDU1y5gCr8bDWEXt5P-taOKB0wn0260Bk,1253
15
16
  Utils/TemporaryEnvironment.py,sha256=Vk-46DqKoaZH53a6cD6bCijWqjqx44fddV7CrJQgMnQ,536
@@ -19,7 +20,7 @@ Utils/Timestamps.py,sha256=QTGLN2mKxEWwSqVXdL6ET7DE7Wh6SY9MZnOVpt3fdfE,2638
19
20
  Utils/TokenManager.py,sha256=v-UyeRNQdat830vUtxQZf-6jgKj-WjHF_XJRtQwUAVk,4330
20
21
  Utils/Tracing.py,sha256=W7AVwcF3YCcxEguu-DC_hzmB-2viRCQjQvrcPCvKq-I,1560
21
22
  Utils/TwPrint.py,sha256=Imlk1Os_ZIFzvo1T-2xgGhyQMwC5dLXPolKXiKRq_FQ,3548
22
- Utils/Utilities.py,sha256=XiRYUrfTZutd1b9wUEA2qpDUtxtatTi5r1Iu0kz8SrM,10395
23
+ Utils/Utilities.py,sha256=rRxIogVRrUzwZXchjz67R19Vmc8enrnv7oZbIoMky6E,10652
23
24
  Utils/__init__.py,sha256=rnPkMBa64JB9itiwLoZ_PvTbXb3zayA5NMSi90ycf5A,192
24
25
  WMCore/Configuration.py,sha256=y2JZb7h-lstP1AB41A6UomIMOIXbGelLGBf3IPzS8Qk,19948
25
26
  WMCore/DAOFactory.py,sha256=rR01Aoyy-FmYhO7Ziw_tS_wcYHX_V61pFfrMTBwG4hU,1707
@@ -30,8 +31,8 @@ WMCore/WMException.py,sha256=-q-HjPcbvji-vtfZ2Uxr1oupsuF9D0c1KjM4i9TT3og,5502
30
31
  WMCore/WMExceptions.py,sha256=1ReKj5kBoXXeOJzPa1CV7i2577rMVoASO5MhR2a9vfc,18794
31
32
  WMCore/WMFactory.py,sha256=igQIcDwaDimxbo_kfyF01E8AU9dmCICU_rKsWiE-Wbs,2852
32
33
  WMCore/WMInit.py,sha256=lXL1fgsZ9eHuY8YCz5qlkpyF2gYQOpmcJTKzvcBwwkY,7769
33
- WMCore/WMLogging.py,sha256=A09mM-21DrAjuVgx7cUmFXa8nr9r_RElxEW3ZR-Rpek,3694
34
- WMCore/__init__.py,sha256=SzB4Av8Pmj_MRFzolCuSPeLWNhiJq-72GxTAhtt2dZ4,128
34
+ WMCore/WMLogging.py,sha256=_p6e819wLjVc1pDrOymV4ssMfHd40p56iNRZ63e_RgY,3577
35
+ WMCore/__init__.py,sha256=T-tdKt9O4U7aAvWp0zpItSDR5IJL4MVo0kZeDw9Yumo,125
35
36
  WMCore/ACDC/Collection.py,sha256=oQziWoM8zH-Wt6H6Lxv2h7widEefPLcEhTtJv9e_Vvg,1145
36
37
  WMCore/ACDC/CollectionTypes.py,sha256=9CW9sO9HDd-hVMgJan6bBdF5ehAZsnpFOBlJN16EnU0,273
37
38
  WMCore/ACDC/CouchCollection.py,sha256=ZMJ4sRavIdSJ_UO_Nsq_W4rOyBoMWeZit_ElSxAkYt4,1961
@@ -74,7 +75,7 @@ WMCore/Database/ConfigDBMap.py,sha256=xDalveGLrzLY9nR8PNyu3leyYMvDxU0nHYnBzx3HE9
74
75
  WMCore/Database/CouchUtils.py,sha256=gG96HpT2qwF_HK0cRW5CuudRbKwhvgwsdEpkNQb0dwA,3476
75
76
  WMCore/Database/DBCore.py,sha256=mnuOrQtvJrTKC6kduiEfBh2mBF4o8fS_uAYIVzcyTck,7336
76
77
  WMCore/Database/DBCreator.py,sha256=TPW5-f8ou5rpIl0GemM0ctc1WuVcEI4nIL1dZkYdD5w,3666
77
- WMCore/Database/DBExceptionHandler.py,sha256=lsnkbVxfR07vIxn4LcYFZtxGR-9oWFgBqcvggl0M44Y,2395
78
+ WMCore/Database/DBExceptionHandler.py,sha256=05F7xgic1StiAxFnHd2JTNvN5UpIv4WhufyNdzivdL8,2536
78
79
  WMCore/Database/DBFactory.py,sha256=1ZQqxHx36R9yPIao3RrmHwub5YX-3GpA-WnGVxMZHjE,4070
79
80
  WMCore/Database/DBFormatter.py,sha256=nsl2X8A5oGs7BY2T6Ln5qMIwOPXnZpUf7xMeRzFFjs4,5578
80
81
  WMCore/Database/Dialects.py,sha256=KmLdTaU809T8JFc7nnz2Waceu33EJgCcLFKXQ0iO1-o,411
@@ -108,7 +109,7 @@ WMCore/REST/CherryPyPeriodicTask.py,sha256=kZk26GjJU6J9DT0IRtPtDtQI7eKpMCVD89-Lh
108
109
  WMCore/REST/Error.py,sha256=XF_-judEa2u5wQna4I7N6RucBjRsnryIo09yzrFxLjw,13554
109
110
  WMCore/REST/Format.py,sha256=IV5z0idAOpmwfGRmk7kyUTFdx1HuJgCXTAwQUTPAYvw,27314
110
111
  WMCore/REST/HeartbeatMonitorBase.py,sha256=lhn5eEHhFH8XL11Xri7Acq7AGgZZYj3IqZx-CaKWOgg,3728
111
- WMCore/REST/Main.py,sha256=N6kPLFCHQVun1cGKcf4b999cfKmwl0LoKR97xNLa_mU,27565
112
+ WMCore/REST/Main.py,sha256=t1YoUECrOvuvxc6RJV2ULJwT4f0U9bIszXuHb-3WH14,28166
112
113
  WMCore/REST/Server.py,sha256=42Hhjr2Wx5xpBCGUcqlnl3hN-Rs5exezQ4ZmLxg-v4I,118329
113
114
  WMCore/REST/Services.py,sha256=UXx2jKOj8KXwSBusj94u0VeIzATLnv4_rSuyeZpvybo,835
114
115
  WMCore/REST/Test.py,sha256=KlV0v6VHwREzw56wKe4BdtIFprcKeOmgpRyVOR6128Y,4423
@@ -130,9 +131,9 @@ WMCore/Services/CRIC/CRIC.py,sha256=lrhCM7Vt9aSgv0lzMNGNu0cojNOppgUboBvACPuZK7g,
130
131
  WMCore/Services/CRIC/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
132
  WMCore/Services/DBS/DBS3Reader.py,sha256=dQbJgh0weRFSFDU5zm4tsPKgv5WrgMA5UBVuWOMN4Jc,42146
132
133
  WMCore/Services/DBS/DBSConcurrency.py,sha256=fNJh-zMZsV7XV7hc2dO1-2Kadr3voV1ul7TgZwMDqsE,1780
133
- WMCore/Services/DBS/DBSErrors.py,sha256=-ae_Icd7lgLiA4ftFlDV9l1AU40pYr6oszYc43GIJW4,2714
134
+ WMCore/Services/DBS/DBSErrors.py,sha256=8DBnzRPoykJzGd0zAhH3VDyZ9f9oIEhnTBPFGvZD6VQ,2713
134
135
  WMCore/Services/DBS/DBSReader.py,sha256=JKm6bnJt4yG2nVkr60emywgHsRDojoeP0obHBFcihZc,621
135
- WMCore/Services/DBS/DBSUtils.py,sha256=in4xhP11qJC0xCqeSm95r2IbqFJqR5Q7kjpW0X3Wm28,4121
136
+ WMCore/Services/DBS/DBSUtils.py,sha256=JiEt0sU4IUR537fPkdYk71JggfxVMucCSz8Ht_aNs38,5153
136
137
  WMCore/Services/DBS/DBSWriterObjects.py,sha256=RP0jzw-rpMdVcuhNwAk8qG65r2TGABIKG6dAgXG0fWg,11179
137
138
  WMCore/Services/DBS/ProdException.py,sha256=O_RZWSeIQZhSoml5m755qaEPHHE1wtHfKEYLav_-bwA,3637
138
139
  WMCore/Services/DBS/__init__.py,sha256=vED6fyGu9YJloGSpqWKcPPHDkvzttvSO20n7kIfsbnU,93
@@ -250,96 +251,96 @@ WMCore/WorkQueue/Policy/Start/__init__.py,sha256=pco1Wy0Rak-RtHZvc6c9lxme7eHidTF
250
251
  WMCore/Wrappers/__init__.py,sha256=PWffOkW1-tNdjP66oA8avZR_zsupBpkcwADgwPzs818,76
251
252
  WMCore/Wrappers/JsonWrapper/JSONThunker.py,sha256=Zti4Zywlsg_3OtXphVy1IxqSZrKCqTuLBJ8rlntLHOU,12767
252
253
  WMCore/Wrappers/JsonWrapper/__init__.py,sha256=lHa_NpXPjLv7AODH7rtwcGl7es-0tx95eZv6rp11df0,165
253
- wmglobalqueue-2.3.10.3.data/data/bin/wmc-dist-patch,sha256=N8vwiPeFe27vwoNPcr6fGAW-0aTY1FzJkztwIzHUadc,646
254
- wmglobalqueue-2.3.10.3.data/data/bin/wmc-dist-unpatch,sha256=MPHT-EYI6pRpUaZZup_UHnDsZ5duwBztK_1ZltRkv2A,409
255
- wmglobalqueue-2.3.10.3.data/data/bin/wmc-httpd,sha256=wt0jRt7KAebb1j0FJFl4zQfg1rKP1mNGj3cw_nEjIII,63
256
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/.couchapprc,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
257
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/README.md,sha256=93xySoW6AElCga0OWj2-qzBL-6SZ9MpeIJtNEx2b4qQ,1660
258
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/couchapp.json,sha256=dTC3iksvMGNQGeX0G3pnanQodY2zteyi-UfT3mZheH4,95
259
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/language,sha256=7acXRsAcP0Zf_QK22hWmUY5vvI8G8axSW-GTvlUHBp0,10
260
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/rewrites.json,sha256=cdgUaGXe1zKW1NNwMZ6wpmbqTbQm4UzmZNI0oAbxsQM,1084
261
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/validate_doc_update.js,sha256=4nsyt92jTfAPJwXIXExjRkPL4-w6cIZgotKI-gDsSnI,218
262
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/_attachments/index.html,sha256=zULuvkxSg-Ag3rtfYqW1KkKeckiD-dxc3k5uu1ekfPM,9400
263
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/_attachments/js/ElementInfoByWorkflow.js,sha256=9f3fdF2YYgIwJlADNDW5_3f3Ghcsz9UvhWYT6mKukDs,3433
264
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/_attachments/js/StuckElementInfo.js,sha256=eU9D_4UJLkAjZ1GedgZpdcZ7AlpoDih876frocI1d8s,2060
265
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/_attachments/js/WorkloadInfoTable.js,sha256=2asIM4dWM-vLjiPoLLjob5VbQuckVUcm_M0JeWKpPhI,3010
266
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/_attachments/js/dataTable.js,sha256=WcMwNPMj7ZNjTr0TnxMujahssD29VlhiIL_qWIUILFM,1970
267
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/_attachments/js/namespace.js,sha256=DJuiPB3Fjb-hnD82RhJ9inXukBvgWyQTiZ9gQj6_I2w,574
268
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/_attachments/style/main.css,sha256=AnReXS11iik_ASebi-uJL4C8Y_TVXHYiMwm9Fdx0YCQ,886
269
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/filters/childQueueFilter.js,sha256=RVBRPuD2x6V_9p9orcdcYYhepT-ZUzlXJ07VTARmwUM,349
270
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/filters/filterDeletedDocs.js,sha256=MuY08stikN4PxLQQtnD8HBfCLtiKInBgwhfdbUiBAHg,48
271
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/filters/queueFilter.js,sha256=CU2-vwVcgfE274iIzS1cckq-A9KVbPs_O31Fdu2M6F4,402
272
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/lib/mustache.js,sha256=RRQuMFZ_kSvF87QwfS-ZZ8I_hYvdJ5ZzIg-WM-_wbVY,9247
273
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/lib/validate.js,sha256=A7eV6JJi1MIk0an-x8FdsPntSWa7dRM8FbrrmRTN36w,739
274
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/lib/workqueue_utils.js,sha256=oG2brBkNNSyFQM0Ha7LQGF7hOw33M6goMGlnA5omAgI,1768
275
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/lists/elementsDetail.js,sha256=qaCQjHiZW5BhMd5ay00J_ARGbWvHnWRLQ1ix5p3jUvc,868
276
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/lists/filter.js,sha256=0YQmq6LQV_Al-Dh6Z3LVowcLI2sZ7YJDPBNKIWyfp38,1857
277
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/lists/stuckElements.js,sha256=5WOYHnSegosoH11oQjwo7YEinZ5uJhl6y_71wbTMoFo,1316
278
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/lists/workRestrictions.js,sha256=-FoDtMhvlgd3cey_iRkFQqRVKNY1Wm2tZXuMu83c5KA,4667
279
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/lists/workflowSummary.js,sha256=AwRQzL_Dcz26zTn4v71pPAs2VBDPC1IAEU2Kk_x_kKA,845
280
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/shows/redirect.js,sha256=S8A_JvZ-IoWW3zIJSZ7bf5E-YIAArH8EyJhSzXevXew,930
281
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/shows/status.js,sha256=CqMfpYTOJrzEULISF1Pigc-gBLRKroG613jOWO1yQ94,1092
282
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/templates/ElementSummaryByWorkflow.html,sha256=leNmN9jevNNuiuQo1VHSP2mKpAthJGqPHDs2WjsESHw,563
283
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/templates/StuckElementSummary.html,sha256=K3z8lMjUz4rvIeWjfFpcIrk01XvJii7cwA8xrhaoT9c,501
284
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/templates/TaskStatus.html,sha256=r4CFXQuWFQ1cRT20BJuXsBshgvIuRYpvX_cJs2qAUJQ,579
285
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/templates/WorkflowSummary.html,sha256=C3YK7tZqCABCh3uoCL2u2yeFww2tsecUrvCmiTQuTss,552
286
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/templates/partials/workqueue-common-lib.html,sha256=fzf0lmAoIxxxX6SBkWPyfAt9_b5vrZg610xpj2rQ3RE,79
287
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/templates/partials/yui-lib-remote.html,sha256=EvF2GfbbRyli3BybEEDUaYq-4HUyGgKIO0rd7IFwUts,1403
288
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/templates/partials/yui-lib.html,sha256=0hs1eVSnqYdO5SrCEduAB7U7Mdt-Ox3R5NCu9erxG3c,1345
289
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/updates/in-place.js,sha256=7HFtVesuIgXdye-BVcNhQ1g42msqMtA9EKxohzjS4DQ,1384
290
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/vendor/couchapp/_attachments/jquery.couch.app.js,sha256=ZAa-QGSHpmq5G8q20yPuliQeuOenh42XeikXXPCdG6E,7245
291
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/vendor/couchapp/_attachments/jquery.pathbinder.js,sha256=j51uO-RelZTFaXJTRD21pK52pLgREDp2sN7WMy9U1ZM,4844
292
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/activeData/map.js,sha256=U3-gh_LcmKdn9X1otiO4w_-jfq3jQqr3Io7izEF9nEY,228
293
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/activeData/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
294
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/activeParentData/map.js,sha256=3SAcOx-eL2Ym_fLbASnvvctg-p6JfMqaCzQpeZkkXR8,247
295
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/activeParentData/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
296
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/activePileupData/map.js,sha256=b9UIf4jfwRCdtvfyw7HHI-l-xrEH9bPu-ALjtHEhS9Y,253
297
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/activePileupData/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
298
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/analyticsData/map.js,sha256=GH1Xa6UtvDUY17mSWwcW8OQ_Xosb05tIHXaeGuvfheU,474
299
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/analyticsData/reduce.js,sha256=dqyUOCjOBfdm63Lh2Xvp650cvkIGSPPziiDu59SioKI,4
300
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/availableByPriority/map.js,sha256=VBTxm-gX3YENMK3DstuklVYmPwspRpTPwLZ3DKnC7A4,216
301
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/conflicts/map.js,sha256=jSa32z5mwzMPCnqzfBgeFRIZKeAA68e4GpVp80B9DhM,96
302
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elements/map.js,sha256=JQ2NrPbLggfZZ0-BKGSJkHSPnnGSNoV7n5dwPlcm2yY,137
303
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elementsByData/map.js,sha256=W_ccKYBsbRKCpyolivBMGRU7BUX8P-s3k4dIxVjsZkM,225
304
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elementsByParent/map.js,sha256=Ld8-VPjbNEXcxS5jCXmkckxZBWbldqMkCFXfqgqyamk,324
305
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elementsByParentData/map.js,sha256=Jbf6BYCtBGOReoKbXav1_KflXXBJWpXD60jYDPZy3Eo,247
306
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elementsByPileupData/map.js,sha256=NA7awhNN7xtyBbnXEsRoHnOtAWMSeuDwnriPQaWP1h8,253
307
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elementsByStatus/map.js,sha256=NKbL9cwKFXGx-vZC6pxJAPeAqSLH-ee8n4M3dTMx0Zk,331
308
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elementsBySubscription/map.js,sha256=Q0GQHQnqd9OID8EHdXrRx9Wp6dSGAN7kjwa7Dtv5bo4,188
309
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elementsByWorkflow/map.js,sha256=jfY55RFG0mTYpGd16jeJWVOKuJfunoSugFGDsbkoUXs,336
310
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elementsByWorkflow/reduce.js,sha256=w2lUOSoqixL2YdqEjBfopKj4_4U43F6bihGIfhTF5nc,41
311
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/elementsDetailByWorkflowAndStatus/map.js,sha256=uLOvNtGXk0luasoBdTikhCZcxo4BqiAu_qH54fAkXv0,1567
312
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobInjectStatusByRequest/map.js,sha256=bMazqlpddwjxhwiq94KQDNy8wGQrYyKp35uzQ-ptpKY,361
313
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobInjectStatusByRequest/reduce.js,sha256=dqyUOCjOBfdm63Lh2Xvp650cvkIGSPPziiDu59SioKI,4
314
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobStatusByRequest/map.js,sha256=UkoCH1yMTI1AlEag3Ytf8uvtsjm5MUZQtnqo1VokKbs,212
315
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobStatusByRequest/reduce.js,sha256=nlsMb5H9WpxcnFuMmDHBEPI0r49sIZCIg-iA8d8f8UQ,6
316
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndPriority/map.js,sha256=cKCa3yJAW6TqF1Gh0mKs6KoZwl1K0yj1p6G4K0aB3Yk,192
317
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndPriority/reduce.js,sha256=PePqXHjVhLAKzRNrlPJXucgNwB3wv-EDrvUYyQMiLyI,7
318
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndStatus/map.js,sha256=X2pX7Qo_xhT7raXhJXnHwz7zgsERGBRF_14r72SCPho,190
319
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndStatus/reduce.js,sha256=PePqXHjVhLAKzRNrlPJXucgNwB3wv-EDrvUYyQMiLyI,7
320
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByRequest/map.js,sha256=jMdd5Zc2U834IjQcLksI66NEB2oSGNLG0UXURbjClEE,181
321
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByRequest/reduce.js,sha256=dqyUOCjOBfdm63Lh2Xvp650cvkIGSPPziiDu59SioKI,4
322
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByStatus/map.js,sha256=8BfQqM2ap5R2MFNa02dOGrnzFAvngVR7Iu1roMg_4xA,166
323
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByStatus/reduce.js,sha256=PePqXHjVhLAKzRNrlPJXucgNwB3wv-EDrvUYyQMiLyI,7
324
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByStatusAndPriority/map.js,sha256=CTDGtmb5YDdx8NTki2e1wXbUT61tmIK48VBrkSC60Xw,185
325
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/jobsByStatusAndPriority/reduce.js,sha256=PePqXHjVhLAKzRNrlPJXucgNwB3wv-EDrvUYyQMiLyI,7
326
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/openRequests/map.js,sha256=Ck0k50t0yNwjWdxf2CTxSfiyg23r0-YOfjxXR90f0yA,201
327
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/recent-items/map.js,sha256=C1d4OesnfG0IsI3u1uWtvEIgwxE1A6RfJpNJoo7JvlE,77
328
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/siteWhitelistByRequest/map.js,sha256=_345mm2S6Fs1t9mKWFXEtwVG0ktTWeFkhl1ce8vv20M,183
329
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/siteWhitelistByRequest/reduce.js,sha256=dlvpEElTCvkm4yYUH8x-fiV5v_n-StoOZNAY76G7M0I,14
330
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/specsByWorkflow/map.js,sha256=fK2QeHHqEzGLMzMyWEsgWR5xS81TgIcFGKp1IZDVIfw,124
331
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/stuckElements/map.js,sha256=MWedtuYnJ_hjVFnbfBQOcpioSozI6jqjczildNr91x8,1047
332
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/wmbsInjectStatusByRequest/map.js,sha256=Y3hv5tHw8YsdWdesP6GF4U5pz2HlnbMWAN4mn_nAOQ0,400
333
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/wmbsInjectStatusByRequest/reduce.js,sha256=pIJku7721kQoID0yCEn71jMim7Z6_JcmiZe5vT56kT0,99
334
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/wmbsUrl/map.js,sha256=E78AdAhu240C5pKVzeDv3JQkTKEkf3dFlVO9OQvZJD0,173
335
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/wmbsUrl/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
336
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/wmbsUrlByRequest/map.js,sha256=XZ_6nCpMtv-1_g4Vedk3Quc9q0a0J4gjsD7hrUh1Gts,195
337
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/wmbsUrlByRequest/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
338
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/workflowSummary/map.js,sha256=hWsSnOX_XCMVwhGRrIUJu2ysxA6JyfT-U23OmNWm9sk,423
339
- wmglobalqueue-2.3.10.3.data/data/data/couchapps/WorkQueue/views/workflowSummary/reduce.js,sha256=Cn94iS8yP0ZU9ds0ZjZkgvHO0phIQqY613zqdftFZ78,378
340
- wmglobalqueue-2.3.10.3.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
341
- wmglobalqueue-2.3.10.3.dist-info/METADATA,sha256=_6hjqy9z--BqqiBB7R9GgNqtcBX05sXFhgJ47AgpYqU,607
342
- wmglobalqueue-2.3.10.3.dist-info/NOTICE,sha256=Njkrylka4oiNeBPstKAKPGB4_IUKVwLZg0Hswzdyg04,633
343
- wmglobalqueue-2.3.10.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
344
- wmglobalqueue-2.3.10.3.dist-info/top_level.txt,sha256=Z_Pf5-bMrXyc1te6Q3cG64qHX6CG0ugDIOrgmcPOAXI,13
345
- wmglobalqueue-2.3.10.3.dist-info/RECORD,,
254
+ wmglobalqueue-2.4.0.data/data/bin/wmc-dist-patch,sha256=N8vwiPeFe27vwoNPcr6fGAW-0aTY1FzJkztwIzHUadc,646
255
+ wmglobalqueue-2.4.0.data/data/bin/wmc-dist-unpatch,sha256=MPHT-EYI6pRpUaZZup_UHnDsZ5duwBztK_1ZltRkv2A,409
256
+ wmglobalqueue-2.4.0.data/data/bin/wmc-httpd,sha256=wt0jRt7KAebb1j0FJFl4zQfg1rKP1mNGj3cw_nEjIII,63
257
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/.couchapprc,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
258
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/README.md,sha256=93xySoW6AElCga0OWj2-qzBL-6SZ9MpeIJtNEx2b4qQ,1660
259
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/couchapp.json,sha256=dTC3iksvMGNQGeX0G3pnanQodY2zteyi-UfT3mZheH4,95
260
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/language,sha256=7acXRsAcP0Zf_QK22hWmUY5vvI8G8axSW-GTvlUHBp0,10
261
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/rewrites.json,sha256=cdgUaGXe1zKW1NNwMZ6wpmbqTbQm4UzmZNI0oAbxsQM,1084
262
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/validate_doc_update.js,sha256=4nsyt92jTfAPJwXIXExjRkPL4-w6cIZgotKI-gDsSnI,218
263
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/_attachments/index.html,sha256=zULuvkxSg-Ag3rtfYqW1KkKeckiD-dxc3k5uu1ekfPM,9400
264
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/_attachments/js/ElementInfoByWorkflow.js,sha256=9f3fdF2YYgIwJlADNDW5_3f3Ghcsz9UvhWYT6mKukDs,3433
265
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/_attachments/js/StuckElementInfo.js,sha256=eU9D_4UJLkAjZ1GedgZpdcZ7AlpoDih876frocI1d8s,2060
266
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/_attachments/js/WorkloadInfoTable.js,sha256=2asIM4dWM-vLjiPoLLjob5VbQuckVUcm_M0JeWKpPhI,3010
267
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/_attachments/js/dataTable.js,sha256=WcMwNPMj7ZNjTr0TnxMujahssD29VlhiIL_qWIUILFM,1970
268
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/_attachments/js/namespace.js,sha256=DJuiPB3Fjb-hnD82RhJ9inXukBvgWyQTiZ9gQj6_I2w,574
269
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/_attachments/style/main.css,sha256=AnReXS11iik_ASebi-uJL4C8Y_TVXHYiMwm9Fdx0YCQ,886
270
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/filters/childQueueFilter.js,sha256=RVBRPuD2x6V_9p9orcdcYYhepT-ZUzlXJ07VTARmwUM,349
271
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/filters/filterDeletedDocs.js,sha256=MuY08stikN4PxLQQtnD8HBfCLtiKInBgwhfdbUiBAHg,48
272
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/filters/queueFilter.js,sha256=CU2-vwVcgfE274iIzS1cckq-A9KVbPs_O31Fdu2M6F4,402
273
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/lib/mustache.js,sha256=RRQuMFZ_kSvF87QwfS-ZZ8I_hYvdJ5ZzIg-WM-_wbVY,9247
274
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/lib/validate.js,sha256=A7eV6JJi1MIk0an-x8FdsPntSWa7dRM8FbrrmRTN36w,739
275
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/lib/workqueue_utils.js,sha256=oG2brBkNNSyFQM0Ha7LQGF7hOw33M6goMGlnA5omAgI,1768
276
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/lists/elementsDetail.js,sha256=qaCQjHiZW5BhMd5ay00J_ARGbWvHnWRLQ1ix5p3jUvc,868
277
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/lists/filter.js,sha256=0YQmq6LQV_Al-Dh6Z3LVowcLI2sZ7YJDPBNKIWyfp38,1857
278
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/lists/stuckElements.js,sha256=5WOYHnSegosoH11oQjwo7YEinZ5uJhl6y_71wbTMoFo,1316
279
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/lists/workRestrictions.js,sha256=-FoDtMhvlgd3cey_iRkFQqRVKNY1Wm2tZXuMu83c5KA,4667
280
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/lists/workflowSummary.js,sha256=AwRQzL_Dcz26zTn4v71pPAs2VBDPC1IAEU2Kk_x_kKA,845
281
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/shows/redirect.js,sha256=S8A_JvZ-IoWW3zIJSZ7bf5E-YIAArH8EyJhSzXevXew,930
282
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/shows/status.js,sha256=CqMfpYTOJrzEULISF1Pigc-gBLRKroG613jOWO1yQ94,1092
283
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/templates/ElementSummaryByWorkflow.html,sha256=leNmN9jevNNuiuQo1VHSP2mKpAthJGqPHDs2WjsESHw,563
284
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/templates/StuckElementSummary.html,sha256=K3z8lMjUz4rvIeWjfFpcIrk01XvJii7cwA8xrhaoT9c,501
285
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/templates/TaskStatus.html,sha256=r4CFXQuWFQ1cRT20BJuXsBshgvIuRYpvX_cJs2qAUJQ,579
286
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/templates/WorkflowSummary.html,sha256=C3YK7tZqCABCh3uoCL2u2yeFww2tsecUrvCmiTQuTss,552
287
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/templates/partials/workqueue-common-lib.html,sha256=fzf0lmAoIxxxX6SBkWPyfAt9_b5vrZg610xpj2rQ3RE,79
288
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/templates/partials/yui-lib-remote.html,sha256=EvF2GfbbRyli3BybEEDUaYq-4HUyGgKIO0rd7IFwUts,1403
289
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/templates/partials/yui-lib.html,sha256=0hs1eVSnqYdO5SrCEduAB7U7Mdt-Ox3R5NCu9erxG3c,1345
290
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/updates/in-place.js,sha256=7HFtVesuIgXdye-BVcNhQ1g42msqMtA9EKxohzjS4DQ,1384
291
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/vendor/couchapp/_attachments/jquery.couch.app.js,sha256=ZAa-QGSHpmq5G8q20yPuliQeuOenh42XeikXXPCdG6E,7245
292
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/vendor/couchapp/_attachments/jquery.pathbinder.js,sha256=j51uO-RelZTFaXJTRD21pK52pLgREDp2sN7WMy9U1ZM,4844
293
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/activeData/map.js,sha256=U3-gh_LcmKdn9X1otiO4w_-jfq3jQqr3Io7izEF9nEY,228
294
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/activeData/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
295
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/activeParentData/map.js,sha256=3SAcOx-eL2Ym_fLbASnvvctg-p6JfMqaCzQpeZkkXR8,247
296
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/activeParentData/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
297
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/activePileupData/map.js,sha256=b9UIf4jfwRCdtvfyw7HHI-l-xrEH9bPu-ALjtHEhS9Y,253
298
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/activePileupData/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
299
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/analyticsData/map.js,sha256=GH1Xa6UtvDUY17mSWwcW8OQ_Xosb05tIHXaeGuvfheU,474
300
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/analyticsData/reduce.js,sha256=dqyUOCjOBfdm63Lh2Xvp650cvkIGSPPziiDu59SioKI,4
301
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/availableByPriority/map.js,sha256=VBTxm-gX3YENMK3DstuklVYmPwspRpTPwLZ3DKnC7A4,216
302
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/conflicts/map.js,sha256=jSa32z5mwzMPCnqzfBgeFRIZKeAA68e4GpVp80B9DhM,96
303
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elements/map.js,sha256=JQ2NrPbLggfZZ0-BKGSJkHSPnnGSNoV7n5dwPlcm2yY,137
304
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elementsByData/map.js,sha256=W_ccKYBsbRKCpyolivBMGRU7BUX8P-s3k4dIxVjsZkM,225
305
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elementsByParent/map.js,sha256=Ld8-VPjbNEXcxS5jCXmkckxZBWbldqMkCFXfqgqyamk,324
306
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elementsByParentData/map.js,sha256=Jbf6BYCtBGOReoKbXav1_KflXXBJWpXD60jYDPZy3Eo,247
307
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elementsByPileupData/map.js,sha256=NA7awhNN7xtyBbnXEsRoHnOtAWMSeuDwnriPQaWP1h8,253
308
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elementsByStatus/map.js,sha256=NKbL9cwKFXGx-vZC6pxJAPeAqSLH-ee8n4M3dTMx0Zk,331
309
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elementsBySubscription/map.js,sha256=Q0GQHQnqd9OID8EHdXrRx9Wp6dSGAN7kjwa7Dtv5bo4,188
310
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elementsByWorkflow/map.js,sha256=jfY55RFG0mTYpGd16jeJWVOKuJfunoSugFGDsbkoUXs,336
311
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elementsByWorkflow/reduce.js,sha256=w2lUOSoqixL2YdqEjBfopKj4_4U43F6bihGIfhTF5nc,41
312
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/elementsDetailByWorkflowAndStatus/map.js,sha256=uLOvNtGXk0luasoBdTikhCZcxo4BqiAu_qH54fAkXv0,1567
313
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobInjectStatusByRequest/map.js,sha256=bMazqlpddwjxhwiq94KQDNy8wGQrYyKp35uzQ-ptpKY,361
314
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobInjectStatusByRequest/reduce.js,sha256=dqyUOCjOBfdm63Lh2Xvp650cvkIGSPPziiDu59SioKI,4
315
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobStatusByRequest/map.js,sha256=UkoCH1yMTI1AlEag3Ytf8uvtsjm5MUZQtnqo1VokKbs,212
316
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobStatusByRequest/reduce.js,sha256=nlsMb5H9WpxcnFuMmDHBEPI0r49sIZCIg-iA8d8f8UQ,6
317
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndPriority/map.js,sha256=cKCa3yJAW6TqF1Gh0mKs6KoZwl1K0yj1p6G4K0aB3Yk,192
318
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndPriority/reduce.js,sha256=PePqXHjVhLAKzRNrlPJXucgNwB3wv-EDrvUYyQMiLyI,7
319
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndStatus/map.js,sha256=X2pX7Qo_xhT7raXhJXnHwz7zgsERGBRF_14r72SCPho,190
320
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndStatus/reduce.js,sha256=PePqXHjVhLAKzRNrlPJXucgNwB3wv-EDrvUYyQMiLyI,7
321
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByRequest/map.js,sha256=jMdd5Zc2U834IjQcLksI66NEB2oSGNLG0UXURbjClEE,181
322
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByRequest/reduce.js,sha256=dqyUOCjOBfdm63Lh2Xvp650cvkIGSPPziiDu59SioKI,4
323
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByStatus/map.js,sha256=8BfQqM2ap5R2MFNa02dOGrnzFAvngVR7Iu1roMg_4xA,166
324
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByStatus/reduce.js,sha256=PePqXHjVhLAKzRNrlPJXucgNwB3wv-EDrvUYyQMiLyI,7
325
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByStatusAndPriority/map.js,sha256=CTDGtmb5YDdx8NTki2e1wXbUT61tmIK48VBrkSC60Xw,185
326
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/jobsByStatusAndPriority/reduce.js,sha256=PePqXHjVhLAKzRNrlPJXucgNwB3wv-EDrvUYyQMiLyI,7
327
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/openRequests/map.js,sha256=Ck0k50t0yNwjWdxf2CTxSfiyg23r0-YOfjxXR90f0yA,201
328
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/recent-items/map.js,sha256=C1d4OesnfG0IsI3u1uWtvEIgwxE1A6RfJpNJoo7JvlE,77
329
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/siteWhitelistByRequest/map.js,sha256=_345mm2S6Fs1t9mKWFXEtwVG0ktTWeFkhl1ce8vv20M,183
330
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/siteWhitelistByRequest/reduce.js,sha256=dlvpEElTCvkm4yYUH8x-fiV5v_n-StoOZNAY76G7M0I,14
331
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/specsByWorkflow/map.js,sha256=fK2QeHHqEzGLMzMyWEsgWR5xS81TgIcFGKp1IZDVIfw,124
332
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/stuckElements/map.js,sha256=MWedtuYnJ_hjVFnbfBQOcpioSozI6jqjczildNr91x8,1047
333
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/wmbsInjectStatusByRequest/map.js,sha256=Y3hv5tHw8YsdWdesP6GF4U5pz2HlnbMWAN4mn_nAOQ0,400
334
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/wmbsInjectStatusByRequest/reduce.js,sha256=pIJku7721kQoID0yCEn71jMim7Z6_JcmiZe5vT56kT0,99
335
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/wmbsUrl/map.js,sha256=E78AdAhu240C5pKVzeDv3JQkTKEkf3dFlVO9OQvZJD0,173
336
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/wmbsUrl/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
337
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/wmbsUrlByRequest/map.js,sha256=XZ_6nCpMtv-1_g4Vedk3Quc9q0a0J4gjsD7hrUh1Gts,195
338
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/wmbsUrlByRequest/reduce.js,sha256=JO5DkSBfpqDFB9VTlx8G-fpx-6DpAGbdGqK92OWQsVo,26
339
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/workflowSummary/map.js,sha256=hWsSnOX_XCMVwhGRrIUJu2ysxA6JyfT-U23OmNWm9sk,423
340
+ wmglobalqueue-2.4.0.data/data/data/couchapps/WorkQueue/views/workflowSummary/reduce.js,sha256=Cn94iS8yP0ZU9ds0ZjZkgvHO0phIQqY613zqdftFZ78,378
341
+ wmglobalqueue-2.4.0.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
342
+ wmglobalqueue-2.4.0.dist-info/METADATA,sha256=Jg75BpKiSDMJBeUMUMxhMKfCyhD_CpNXpANtbDZhWio,603
343
+ wmglobalqueue-2.4.0.dist-info/NOTICE,sha256=Njkrylka4oiNeBPstKAKPGB4_IUKVwLZg0Hswzdyg04,633
344
+ wmglobalqueue-2.4.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
345
+ wmglobalqueue-2.4.0.dist-info/top_level.txt,sha256=Z_Pf5-bMrXyc1te6Q3cG64qHX6CG0ugDIOrgmcPOAXI,13
346
+ wmglobalqueue-2.4.0.dist-info/RECORD,,