pg-boss 9.0.2 → 10.0.0-beta1
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.
- package/README.md +9 -22
- package/package.json +3 -8
- package/src/attorney.js +74 -85
- package/src/boss.js +97 -132
- package/src/contractor.js +14 -0
- package/src/db.js +40 -0
- package/src/index.js +65 -55
- package/src/manager.js +211 -115
- package/src/migrationStore.js +127 -71
- package/src/plans.js +336 -291
- package/src/timekeeper.js +4 -6
- package/src/tools.js +28 -0
- package/src/worker.js +3 -3
- package/types.d.ts +16 -34
- package/version.json +1 -1
- package/coverage/lcov-report/attorney.js.html +0 -1342
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/boss.js.html +0 -850
- package/coverage/lcov-report/contractor.js.html +0 -322
- package/coverage/lcov-report/db.js.html +0 -208
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -251
- package/coverage/lcov-report/index.js.html +0 -634
- package/coverage/lcov-report/manager.js.html +0 -1930
- package/coverage/lcov-report/migrationStore.js.html +0 -604
- package/coverage/lcov-report/plans.js.html +0 -2224
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/timekeeper.js.html +0 -814
- package/coverage/lcov-report/worker.js.html +0 -382
- package/coverage/lcov.info +0 -2058
|
@@ -1,1342 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for attorney.js</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="index.html">All files</a> attorney.js</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">100% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>155/155</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">89.86% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>204/227</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">100% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>23/23</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">100% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>154/154</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line high'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
-
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
-
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
-
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
-
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
-
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
-
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
-
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
-
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
-
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
-
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
-
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
-
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
-
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
-
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
-
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
-
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
-
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
-
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
-
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
-
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
-
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
-
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
-
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
-
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
-
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
-
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
-
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
-
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
-
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
-
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
-
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
-
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
-
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
-
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
-
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
-
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
-
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
-
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
-
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
-
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
-
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
-
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
-
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
-
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
-
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
-
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
-
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
-
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
-
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
-
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
-
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
-
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
-
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
-
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
-
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
-
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
-
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
-
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
-
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
-
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
-
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
-
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
-
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
-
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
-
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
-
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
-
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
-
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
-
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
-
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
-
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
-
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
-
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
-
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
-
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
-
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
-
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
-
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
-
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
-
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
-
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
-
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
-
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
-
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
-
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
-
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
-
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
-
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
-
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
-
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
-
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
-
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
-
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
-
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
-
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
-
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
-
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
-
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
-
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
-
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
-
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
-
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
-
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
-
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
-
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
-
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
-
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
-
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
-
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
-
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
-
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
-
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
-
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
-
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
-
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
-
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
-
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
-
<a name='L391'></a><a href='#L391'>391</a>
|
|
457
|
-
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
|
-
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
|
-
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
-
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
-
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
-
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
-
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
-
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
-
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
-
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
-
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
-
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
-
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
-
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
-
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
-
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
-
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
-
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
-
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
-
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
-
<a name='L412'></a><a href='#L412'>412</a>
|
|
478
|
-
<a name='L413'></a><a href='#L413'>413</a>
|
|
479
|
-
<a name='L414'></a><a href='#L414'>414</a>
|
|
480
|
-
<a name='L415'></a><a href='#L415'>415</a>
|
|
481
|
-
<a name='L416'></a><a href='#L416'>416</a>
|
|
482
|
-
<a name='L417'></a><a href='#L417'>417</a>
|
|
483
|
-
<a name='L418'></a><a href='#L418'>418</a>
|
|
484
|
-
<a name='L419'></a><a href='#L419'>419</a>
|
|
485
|
-
<a name='L420'></a><a href='#L420'>420</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">12x</span>
|
|
486
|
-
<span class="cline-any cline-yes">12x</span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-yes">12x</span>
|
|
489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-neutral"> </span>
|
|
492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-neutral"> </span>
|
|
495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-yes">12x</span>
|
|
498
|
-
<span class="cline-any cline-neutral"> </span>
|
|
499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
500
|
-
<span class="cline-any cline-neutral"> </span>
|
|
501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-neutral"> </span>
|
|
503
|
-
<span class="cline-any cline-neutral"> </span>
|
|
504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
505
|
-
<span class="cline-any cline-neutral"> </span>
|
|
506
|
-
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-neutral"> </span>
|
|
508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
509
|
-
<span class="cline-any cline-neutral"> </span>
|
|
510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-yes">10786x</span>
|
|
516
|
-
<span class="cline-any cline-yes">10775x</span>
|
|
517
|
-
<span class="cline-any cline-yes">10775x</span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-yes">10775x</span>
|
|
520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
521
|
-
<span class="cline-any cline-yes">10774x</span>
|
|
522
|
-
<span class="cline-any cline-yes">11x</span>
|
|
523
|
-
<span class="cline-any cline-yes">10x</span>
|
|
524
|
-
<span class="cline-any cline-neutral"> </span>
|
|
525
|
-
<span class="cline-any cline-yes">10x</span>
|
|
526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-yes">10x</span>
|
|
528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-yes">10x</span>
|
|
530
|
-
<span class="cline-any cline-yes">10x</span>
|
|
531
|
-
<span class="cline-any cline-yes">10x</span>
|
|
532
|
-
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
534
|
-
<span class="cline-any cline-yes">10785x</span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-yes">10785x</span>
|
|
537
|
-
<span class="cline-any cline-yes">10784x</span>
|
|
538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
540
|
-
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
542
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
545
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
546
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
547
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
548
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
549
|
-
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
551
|
-
<span class="cline-any cline-neutral"> </span>
|
|
552
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-neutral"> </span>
|
|
557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
558
|
-
<span class="cline-any cline-neutral"> </span>
|
|
559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
561
|
-
<span class="cline-any cline-neutral"> </span>
|
|
562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-neutral"> </span>
|
|
566
|
-
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-neutral"> </span>
|
|
568
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
569
|
-
<span class="cline-any cline-neutral"> </span>
|
|
570
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
571
|
-
<span class="cline-any cline-neutral"> </span>
|
|
572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-yes">6x</span>
|
|
575
|
-
<span class="cline-any cline-yes">6x</span>
|
|
576
|
-
<span class="cline-any cline-yes">8x</span>
|
|
577
|
-
<span class="cline-any cline-yes">8x</span>
|
|
578
|
-
<span class="cline-any cline-yes">8x</span>
|
|
579
|
-
<span class="cline-any cline-neutral"> </span>
|
|
580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-yes">10791x</span>
|
|
584
|
-
<span class="cline-any cline-yes">10x</span>
|
|
585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
586
|
-
<span class="cline-any cline-yes">10791x</span>
|
|
587
|
-
<span class="cline-any cline-neutral"> </span>
|
|
588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-yes">550x</span>
|
|
593
|
-
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-yes">549x</span>
|
|
595
|
-
<span class="cline-any cline-yes">22x</span>
|
|
596
|
-
<span class="cline-any cline-yes">22x</span>
|
|
597
|
-
<span class="cline-any cline-yes">527x</span>
|
|
598
|
-
<span class="cline-any cline-yes">526x</span>
|
|
599
|
-
<span class="cline-any cline-yes">526x</span>
|
|
600
|
-
<span class="cline-any cline-neutral"> </span>
|
|
601
|
-
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-yes">549x</span>
|
|
603
|
-
<span class="cline-any cline-yes">547x</span>
|
|
604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-yes">547x</span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-yes">547x</span>
|
|
608
|
-
<span class="cline-any cline-neutral"> </span>
|
|
609
|
-
<span class="cline-any cline-yes">547x</span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-yes">547x</span>
|
|
614
|
-
<span class="cline-any cline-yes">547x</span>
|
|
615
|
-
<span class="cline-any cline-yes">547x</span>
|
|
616
|
-
<span class="cline-any cline-yes">547x</span>
|
|
617
|
-
<span class="cline-any cline-neutral"> </span>
|
|
618
|
-
<span class="cline-any cline-yes">547x</span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-neutral"> </span>
|
|
621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-yes">999x</span>
|
|
623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
624
|
-
<span class="cline-any cline-yes">998x</span>
|
|
625
|
-
<span class="cline-any cline-neutral"> </span>
|
|
626
|
-
<span class="cline-any cline-yes">998x</span>
|
|
627
|
-
<span class="cline-any cline-yes">998x</span>
|
|
628
|
-
<span class="cline-any cline-yes">998x</span>
|
|
629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-yes">998x</span>
|
|
631
|
-
<span class="cline-any cline-neutral"> </span>
|
|
632
|
-
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-neutral"> </span>
|
|
634
|
-
<span class="cline-any cline-yes">3142x</span>
|
|
635
|
-
<span class="cline-any cline-neutral"> </span>
|
|
636
|
-
<span class="cline-any cline-neutral"> </span>
|
|
637
|
-
<span class="cline-any cline-neutral"> </span>
|
|
638
|
-
<span class="cline-any cline-yes">202x</span>
|
|
639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
640
|
-
<span class="cline-any cline-neutral"> </span>
|
|
641
|
-
<span class="cline-any cline-yes">202x</span>
|
|
642
|
-
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-yes">202x</span>
|
|
646
|
-
<span class="cline-any cline-yes">201x</span>
|
|
647
|
-
<span class="cline-any cline-yes">201x</span>
|
|
648
|
-
<span class="cline-any cline-yes">201x</span>
|
|
649
|
-
<span class="cline-any cline-yes">201x</span>
|
|
650
|
-
<span class="cline-any cline-yes">201x</span>
|
|
651
|
-
<span class="cline-any cline-yes">201x</span>
|
|
652
|
-
<span class="cline-any cline-neutral"> </span>
|
|
653
|
-
<span class="cline-any cline-yes">201x</span>
|
|
654
|
-
<span class="cline-any cline-yes">201x</span>
|
|
655
|
-
<span class="cline-any cline-yes">201x</span>
|
|
656
|
-
<span class="cline-any cline-yes">201x</span>
|
|
657
|
-
<span class="cline-any cline-neutral"> </span>
|
|
658
|
-
<span class="cline-any cline-yes">201x</span>
|
|
659
|
-
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-neutral"> </span>
|
|
662
|
-
<span class="cline-any cline-yes">202x</span>
|
|
663
|
-
<span class="cline-any cline-yes">199x</span>
|
|
664
|
-
<span class="cline-any cline-yes">199x</span>
|
|
665
|
-
<span class="cline-any cline-yes">198x</span>
|
|
666
|
-
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-yes">201x</span>
|
|
669
|
-
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-neutral"> </span>
|
|
672
|
-
<span class="cline-any cline-yes">201x</span>
|
|
673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-yes">201x</span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-yes">201x</span>
|
|
678
|
-
<span class="cline-any cline-yes">201x</span>
|
|
679
|
-
<span class="cline-any cline-neutral"> </span>
|
|
680
|
-
<span class="cline-any cline-yes">201x</span>
|
|
681
|
-
<span class="cline-any cline-yes">6x</span>
|
|
682
|
-
<span class="cline-any cline-neutral"> </span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-neutral"> </span>
|
|
686
|
-
<span class="cline-any cline-yes">201x</span>
|
|
687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
689
|
-
<span class="cline-any cline-yes">201x</span>
|
|
690
|
-
<span class="cline-any cline-yes">201x</span>
|
|
691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-neutral"> </span>
|
|
693
|
-
<span class="cline-any cline-yes">201x</span>
|
|
694
|
-
<span class="cline-any cline-yes">1x</span>
|
|
695
|
-
<span class="cline-any cline-neutral"> </span>
|
|
696
|
-
<span class="cline-any cline-neutral"> </span>
|
|
697
|
-
<span class="cline-any cline-neutral"> </span>
|
|
698
|
-
<span class="cline-any cline-neutral"> </span>
|
|
699
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-neutral"> </span>
|
|
702
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
703
|
-
<span class="cline-any cline-yes">10396x</span>
|
|
704
|
-
<span class="cline-any cline-neutral"> </span>
|
|
705
|
-
<span class="cline-any cline-neutral"> </span>
|
|
706
|
-
<span class="cline-any cline-neutral"> </span>
|
|
707
|
-
<span class="cline-any cline-neutral"> </span>
|
|
708
|
-
<span class="cline-any cline-neutral"> </span>
|
|
709
|
-
<span class="cline-any cline-neutral"> </span>
|
|
710
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
711
|
-
<span class="cline-any cline-neutral"> </span>
|
|
712
|
-
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
714
|
-
<span class="cline-any cline-neutral"> </span>
|
|
715
|
-
<span class="cline-any cline-neutral"> </span>
|
|
716
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
717
|
-
<span class="cline-any cline-neutral"> </span>
|
|
718
|
-
<span class="cline-any cline-neutral"> </span>
|
|
719
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
720
|
-
<span class="cline-any cline-neutral"> </span>
|
|
721
|
-
<span class="cline-any cline-neutral"> </span>
|
|
722
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
723
|
-
<span class="cline-any cline-neutral"> </span>
|
|
724
|
-
<span class="cline-any cline-neutral"> </span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-neutral"> </span>
|
|
727
|
-
<span class="cline-any cline-neutral"> </span>
|
|
728
|
-
<span class="cline-any cline-neutral"> </span>
|
|
729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
731
|
-
<span class="cline-any cline-neutral"> </span>
|
|
732
|
-
<span class="cline-any cline-neutral"> </span>
|
|
733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
736
|
-
<span class="cline-any cline-neutral"> </span>
|
|
737
|
-
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
739
|
-
<span class="cline-any cline-yes">3x</span>
|
|
740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
743
|
-
<span class="cline-any cline-neutral"> </span>
|
|
744
|
-
<span class="cline-any cline-neutral"> </span>
|
|
745
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
746
|
-
<span class="cline-any cline-neutral"> </span>
|
|
747
|
-
<span class="cline-any cline-neutral"> </span>
|
|
748
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
749
|
-
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-neutral"> </span>
|
|
751
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
752
|
-
<span class="cline-any cline-neutral"> </span>
|
|
753
|
-
<span class="cline-any cline-neutral"> </span>
|
|
754
|
-
<span class="cline-any cline-neutral"> </span>
|
|
755
|
-
<span class="cline-any cline-neutral"> </span>
|
|
756
|
-
<span class="cline-any cline-neutral"> </span>
|
|
757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-neutral"> </span>
|
|
759
|
-
<span class="cline-any cline-neutral"> </span>
|
|
760
|
-
<span class="cline-any cline-neutral"> </span>
|
|
761
|
-
<span class="cline-any cline-yes">10984x</span>
|
|
762
|
-
<span class="cline-any cline-neutral"> </span>
|
|
763
|
-
<span class="cline-any cline-neutral"> </span>
|
|
764
|
-
<span class="cline-any cline-neutral"> </span>
|
|
765
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
766
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
767
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
768
|
-
<span class="cline-any cline-neutral"> </span>
|
|
769
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
770
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
771
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
772
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<span class="cline-any cline-neutral"> </span>
|
|
775
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
776
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
777
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
778
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
779
|
-
<span class="cline-any cline-yes">10783x</span>
|
|
780
|
-
<span class="cline-any cline-neutral"> </span>
|
|
781
|
-
<span class="cline-any cline-neutral"> </span>
|
|
782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
783
|
-
<span class="cline-any cline-yes">748x</span>
|
|
784
|
-
<span class="cline-any cline-neutral"> </span>
|
|
785
|
-
<span class="cline-any cline-yes">748x</span>
|
|
786
|
-
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-neutral"> </span>
|
|
788
|
-
<span class="cline-any cline-yes">748x</span>
|
|
789
|
-
<span class="cline-any cline-neutral"> </span>
|
|
790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-yes">748x</span>
|
|
792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
793
|
-
<span class="cline-any cline-neutral"> </span>
|
|
794
|
-
<span class="cline-any cline-neutral"> </span>
|
|
795
|
-
<span class="cline-any cline-neutral"> </span>
|
|
796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
797
|
-
<span class="cline-any cline-neutral"> </span>
|
|
798
|
-
<span class="cline-any cline-neutral"> </span>
|
|
799
|
-
<span class="cline-any cline-neutral"> </span>
|
|
800
|
-
<span class="cline-any cline-neutral"> </span>
|
|
801
|
-
<span class="cline-any cline-yes">201x</span>
|
|
802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-neutral"> </span>
|
|
804
|
-
<span class="cline-any cline-yes">201x</span>
|
|
805
|
-
<span class="cline-any cline-neutral"> </span>
|
|
806
|
-
<span class="cline-any cline-neutral"> </span>
|
|
807
|
-
<span class="cline-any cline-yes">201x</span>
|
|
808
|
-
<span class="cline-any cline-neutral"> </span>
|
|
809
|
-
<span class="cline-any cline-neutral"> </span>
|
|
810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-neutral"> </span>
|
|
812
|
-
<span class="cline-any cline-neutral"> </span>
|
|
813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
814
|
-
<span class="cline-any cline-neutral"> </span>
|
|
815
|
-
<span class="cline-any cline-yes">201x</span>
|
|
816
|
-
<span class="cline-any cline-neutral"> </span>
|
|
817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
818
|
-
<span class="cline-any cline-yes">201x</span>
|
|
819
|
-
<span class="cline-any cline-neutral"> </span>
|
|
820
|
-
<span class="cline-any cline-neutral"> </span>
|
|
821
|
-
<span class="cline-any cline-yes">201x</span>
|
|
822
|
-
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-neutral"> </span>
|
|
824
|
-
<span class="cline-any cline-yes">201x</span>
|
|
825
|
-
<span class="cline-any cline-neutral"> </span>
|
|
826
|
-
<span class="cline-any cline-neutral"> </span>
|
|
827
|
-
<span class="cline-any cline-yes">201x</span>
|
|
828
|
-
<span class="cline-any cline-neutral"> </span>
|
|
829
|
-
<span class="cline-any cline-neutral"> </span>
|
|
830
|
-
<span class="cline-any cline-neutral"> </span>
|
|
831
|
-
<span class="cline-any cline-neutral"> </span>
|
|
832
|
-
<span class="cline-any cline-neutral"> </span>
|
|
833
|
-
<span class="cline-any cline-neutral"> </span>
|
|
834
|
-
<span class="cline-any cline-neutral"> </span>
|
|
835
|
-
<span class="cline-any cline-neutral"> </span>
|
|
836
|
-
<span class="cline-any cline-neutral"> </span>
|
|
837
|
-
<span class="cline-any cline-yes">201x</span>
|
|
838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
841
|
-
<span class="cline-any cline-yes">201x</span>
|
|
842
|
-
<span class="cline-any cline-neutral"> </span>
|
|
843
|
-
<span class="cline-any cline-neutral"> </span>
|
|
844
|
-
<span class="cline-any cline-yes">201x</span>
|
|
845
|
-
<span class="cline-any cline-neutral"> </span>
|
|
846
|
-
<span class="cline-any cline-neutral"> </span>
|
|
847
|
-
<span class="cline-any cline-yes">201x</span>
|
|
848
|
-
<span class="cline-any cline-neutral"> </span>
|
|
849
|
-
<span class="cline-any cline-neutral"> </span>
|
|
850
|
-
<span class="cline-any cline-neutral"> </span>
|
|
851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
852
|
-
<span class="cline-any cline-neutral"> </span>
|
|
853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
854
|
-
<span class="cline-any cline-yes">201x</span>
|
|
855
|
-
<span class="cline-any cline-neutral"> </span>
|
|
856
|
-
<span class="cline-any cline-yes">201x</span>
|
|
857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
858
|
-
<span class="cline-any cline-neutral"> </span>
|
|
859
|
-
<span class="cline-any cline-yes">201x</span>
|
|
860
|
-
<span class="cline-any cline-neutral"> </span>
|
|
861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
862
|
-
<span class="cline-any cline-yes">201x</span>
|
|
863
|
-
<span class="cline-any cline-neutral"> </span>
|
|
864
|
-
<span class="cline-any cline-neutral"> </span>
|
|
865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
866
|
-
<span class="cline-any cline-neutral"> </span>
|
|
867
|
-
<span class="cline-any cline-neutral"> </span>
|
|
868
|
-
<span class="cline-any cline-neutral"> </span>
|
|
869
|
-
<span class="cline-any cline-yes">201x</span>
|
|
870
|
-
<span class="cline-any cline-neutral"> </span>
|
|
871
|
-
<span class="cline-any cline-neutral"> </span>
|
|
872
|
-
<span class="cline-any cline-yes">201x</span>
|
|
873
|
-
<span class="cline-any cline-neutral"> </span>
|
|
874
|
-
<span class="cline-any cline-neutral"> </span>
|
|
875
|
-
<span class="cline-any cline-neutral"> </span>
|
|
876
|
-
<span class="cline-any cline-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-yes">201x</span>
|
|
878
|
-
<span class="cline-any cline-neutral"> </span>
|
|
879
|
-
<span class="cline-any cline-neutral"> </span>
|
|
880
|
-
<span class="cline-any cline-yes">201x</span>
|
|
881
|
-
<span class="cline-any cline-neutral"> </span>
|
|
882
|
-
<span class="cline-any cline-neutral"> </span>
|
|
883
|
-
<span class="cline-any cline-neutral"> </span>
|
|
884
|
-
<span class="cline-any cline-neutral"> </span>
|
|
885
|
-
<span class="cline-any cline-neutral"> </span>
|
|
886
|
-
<span class="cline-any cline-neutral"> </span>
|
|
887
|
-
<span class="cline-any cline-yes">201x</span>
|
|
888
|
-
<span class="cline-any cline-yes">201x</span>
|
|
889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
890
|
-
<span class="cline-any cline-neutral"> </span>
|
|
891
|
-
<span class="cline-any cline-neutral"> </span>
|
|
892
|
-
<span class="cline-any cline-yes">1x</span>
|
|
893
|
-
<span class="cline-any cline-neutral"> </span>
|
|
894
|
-
<span class="cline-any cline-neutral"> </span>
|
|
895
|
-
<span class="cline-any cline-neutral"> </span>
|
|
896
|
-
<span class="cline-any cline-yes">11x</span>
|
|
897
|
-
<span class="cline-any cline-neutral"> </span>
|
|
898
|
-
<span class="cline-any cline-yes">11x</span>
|
|
899
|
-
<span class="cline-any cline-yes">4x</span>
|
|
900
|
-
<span class="cline-any cline-yes">4x</span>
|
|
901
|
-
<span class="cline-any cline-yes">4x</span>
|
|
902
|
-
<span class="cline-any cline-neutral"> </span>
|
|
903
|
-
<span class="cline-any cline-neutral"> </span>
|
|
904
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const assert = require('assert')
|
|
905
|
-
const { DEFAULT_SCHEMA, SINGLETON_QUEUE_KEY } = require('./plans')
|
|
906
|
-
|
|
907
|
-
module.exports = {
|
|
908
|
-
getConfig,
|
|
909
|
-
checkSendArgs,
|
|
910
|
-
checkInsertArgs,
|
|
911
|
-
checkWorkArgs,
|
|
912
|
-
checkFetchArgs,
|
|
913
|
-
warnClockSkew
|
|
914
|
-
}
|
|
915
|
-
|
|
916
|
-
const WARNINGS = {
|
|
917
|
-
EXPIRE_IN_REMOVED: {
|
|
918
|
-
message: '\'expireIn\' option detected. This option has been removed. Use expireInSeconds, expireInMinutes or expireInHours.',
|
|
919
|
-
code: 'pg-boss-w01'
|
|
920
|
-
},
|
|
921
|
-
CLOCK_SKEW: {
|
|
922
|
-
message: 'Timekeeper detected clock skew between this instance and the database server. This will not affect scheduling operations, but this warning is shown any time the skew exceeds 60 seconds.',
|
|
923
|
-
code: 'pg-boss-w02'
|
|
924
|
-
},
|
|
925
|
-
CRON_DISABLED: {
|
|
926
|
-
message: 'Archive interval is set less than 60s. Cron processing is disabled.',
|
|
927
|
-
code: 'pg-boss-w03'
|
|
928
|
-
}
|
|
929
|
-
}
|
|
930
|
-
|
|
931
|
-
function checkSendArgs (args, defaults) {
|
|
932
|
-
let name, data, options
|
|
933
|
-
|
|
934
|
-
if (typeof args[0] === 'string') {
|
|
935
|
-
name = args[0]
|
|
936
|
-
data = args[1]
|
|
937
|
-
|
|
938
|
-
assert(typeof data !== 'function', 'send() cannot accept a function as the payload. Did you intend to use work()?')
|
|
939
|
-
|
|
940
|
-
options = args[2]
|
|
941
|
-
} else if (typeof args[0] === 'object') {
|
|
942
|
-
assert(args.length === 1, 'send object API only accepts 1 argument')
|
|
943
|
-
|
|
944
|
-
const job = args[0]
|
|
945
|
-
|
|
946
|
-
assert(job, 'boss requires all jobs to have a name')
|
|
947
|
-
|
|
948
|
-
name = job.name
|
|
949
|
-
data = job.data
|
|
950
|
-
options = job.options
|
|
951
|
-
}
|
|
952
|
-
|
|
953
|
-
options = options || {}
|
|
954
|
-
|
|
955
|
-
assert(name, 'boss requires all jobs to have a queue name')
|
|
956
|
-
assert(typeof options === 'object', 'options should be an object')
|
|
957
|
-
|
|
958
|
-
options = { ...options }
|
|
959
|
-
|
|
960
|
-
assert(!('priority' in options) || (Number.isInteger(options.priority)), 'priority must be an integer')
|
|
961
|
-
options.priority = options.priority || 0
|
|
962
|
-
|
|
963
|
-
applyRetryConfig(options, defaults)
|
|
964
|
-
applyExpirationConfig(options, defaults)
|
|
965
|
-
applyRetentionConfig(options, defaults)
|
|
966
|
-
applyCompletionConfig(options, defaults)
|
|
967
|
-
applySingletonKeyConfig(options)
|
|
968
|
-
|
|
969
|
-
const { startAfter, singletonSeconds, singletonMinutes, singletonHours } = options
|
|
970
|
-
|
|
971
|
-
options.startAfter = (startAfter instanceof Date && typeof startAfter.toISOString === 'function')
|
|
972
|
-
? startAfter.toISOString()
|
|
973
|
-
: (startAfter > 0)
|
|
974
|
-
? '' + startAfter
|
|
975
|
-
: (typeof startAfter === 'string')
|
|
976
|
-
? startAfter
|
|
977
|
-
: null
|
|
978
|
-
|
|
979
|
-
options.singletonSeconds = (singletonHours > 0)
|
|
980
|
-
? singletonHours * 60 * 60
|
|
981
|
-
: (singletonMinutes > 0)
|
|
982
|
-
? singletonMinutes * 60
|
|
983
|
-
: (singletonSeconds > 0)
|
|
984
|
-
? singletonSeconds
|
|
985
|
-
: null
|
|
986
|
-
|
|
987
|
-
assert(!singletonSeconds || singletonSeconds <= defaults.archiveSeconds, `throttling interval ${singletonSeconds}s cannot exceed archive interval ${defaults.archiveSeconds}s`)
|
|
988
|
-
|
|
989
|
-
return { name, data, options }
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
function checkInsertArgs (jobs) {
|
|
993
|
-
assert(Array.isArray(jobs), `jobs argument should be an array. Received '${typeof jobs}'`)
|
|
994
|
-
return jobs.map(job => {
|
|
995
|
-
job = { ...job }
|
|
996
|
-
applySingletonKeyConfig(job)
|
|
997
|
-
return job
|
|
998
|
-
})
|
|
999
|
-
}
|
|
1000
|
-
|
|
1001
|
-
function applySingletonKeyConfig (options) {
|
|
1002
|
-
if (options.singletonKey && options.useSingletonQueue && options.singletonKey !== SINGLETON_QUEUE_KEY) {
|
|
1003
|
-
options.singletonKey = SINGLETON_QUEUE_KEY + options.singletonKey
|
|
1004
|
-
}
|
|
1005
|
-
delete options.useSingletonQueue
|
|
1006
|
-
}
|
|
1007
|
-
|
|
1008
|
-
function checkWorkArgs (name, args, defaults) {
|
|
1009
|
-
let options, callback
|
|
1010
|
-
|
|
1011
|
-
assert(name, 'missing job name')
|
|
1012
|
-
|
|
1013
|
-
if (args.length === 1) {
|
|
1014
|
-
callback = args[0]
|
|
1015
|
-
options = {}
|
|
1016
|
-
} else if (args.length > 1) {
|
|
1017
|
-
options = args[0] || <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
|
|
1018
|
-
callback = args[1]
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1021
|
-
assert(typeof callback === 'function', 'expected callback to be a function')
|
|
1022
|
-
assert(typeof options === 'object', 'expected config to be an object')
|
|
1023
|
-
|
|
1024
|
-
options = { ...options }
|
|
1025
|
-
|
|
1026
|
-
applyNewJobCheckInterval(options, defaults)
|
|
1027
|
-
|
|
1028
|
-
assert(!('teamConcurrency' in options) ||
|
|
1029
|
-
(Number.isInteger(options.teamConcurrency) && options.teamConcurrency >= 1 && options.teamConcurrency <= 1000),
|
|
1030
|
-
'teamConcurrency must be an integer between 1 and 1000')
|
|
1031
|
-
|
|
1032
|
-
assert(!('teamSize' in options) || (Number.isInteger(options.teamSize) && options.teamSize >= 1), 'teamSize must be an integer > 0')
|
|
1033
|
-
assert(!('batchSize' in options) || (Number.isInteger(options.batchSize) && options.batchSize >= 1), 'batchSize must be an integer > 0')
|
|
1034
|
-
assert(!('includeMetadata' in options) || typeof options.includeMetadata === 'boolean', 'includeMetadata must be a boolean')
|
|
1035
|
-
assert(!('enforceSingletonQueueActiveLimit' in options) || <span class="branch-1 cbranch-no" title="branch not covered" >typeof options.enforceSingletonQueueActiveLimit === 'boolean',</span> 'enforceSingletonQueueActiveLimit must be a boolean')
|
|
1036
|
-
|
|
1037
|
-
return { options, callback }
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
|
-
function checkFetchArgs (name, batchSize, options) {
|
|
1041
|
-
assert(name, 'missing queue name')
|
|
1042
|
-
|
|
1043
|
-
name = sanitizeQueueNameForFetch(name)
|
|
1044
|
-
|
|
1045
|
-
assert(!batchSize || (Number.isInteger(batchSize) && batchSize >= 1), 'batchSize must be an integer > 0')
|
|
1046
|
-
assert(!('includeMetadata' in options) || typeof options.includeMetadata === 'boolean', 'includeMetadata must be a boolean')
|
|
1047
|
-
assert(!('enforceSingletonQueueActiveLimit' in options) || typeof options.enforceSingletonQueueActiveLimit === 'boolean', 'enforceSingletonQueueActiveLimit must be a boolean')
|
|
1048
|
-
|
|
1049
|
-
return { name }
|
|
1050
|
-
}
|
|
1051
|
-
|
|
1052
|
-
function sanitizeQueueNameForFetch (name) {
|
|
1053
|
-
return name.replace(/[%_*]/g, match => match === '*' ? '%' : '\\' + match)
|
|
1054
|
-
}
|
|
1055
|
-
|
|
1056
|
-
function getConfig (value) {
|
|
1057
|
-
assert(value && (typeof value === 'object' || typeof value === 'string'),
|
|
1058
|
-
'configuration assert: string or config object is required to connect to postgres')
|
|
1059
|
-
|
|
1060
|
-
const config = (typeof value === 'string')
|
|
1061
|
-
? { connectionString: value }
|
|
1062
|
-
: { ...value }
|
|
1063
|
-
|
|
1064
|
-
applyDatabaseConfig(config)
|
|
1065
|
-
applyMaintenanceConfig(config)
|
|
1066
|
-
applyArchiveConfig(config)
|
|
1067
|
-
applyArchiveFailedConfig(config)
|
|
1068
|
-
applyDeleteConfig(config)
|
|
1069
|
-
applyMonitoringConfig(config)
|
|
1070
|
-
applyUuidConfig(config)
|
|
1071
|
-
|
|
1072
|
-
applyNewJobCheckInterval(config)
|
|
1073
|
-
applyExpirationConfig(config)
|
|
1074
|
-
applyRetentionConfig(config)
|
|
1075
|
-
applyCompletionConfig(config)
|
|
1076
|
-
|
|
1077
|
-
return config
|
|
1078
|
-
}
|
|
1079
|
-
|
|
1080
|
-
function applyDatabaseConfig (config) {
|
|
1081
|
-
if (config.schema) {
|
|
1082
|
-
assert(typeof config.schema === 'string', 'configuration assert: schema must be a string')
|
|
1083
|
-
assert(config.schema.length <= 50, 'configuration assert: schema name cannot exceed 50 characters')
|
|
1084
|
-
assert(!/\W/.test(config.schema), `configuration assert: ${config.schema} cannot be used as a schema. Only alphanumeric characters and underscores are allowed`)
|
|
1085
|
-
}
|
|
1086
|
-
|
|
1087
|
-
config.schema = config.schema || DEFAULT_SCHEMA
|
|
1088
|
-
}
|
|
1089
|
-
|
|
1090
|
-
function applyArchiveConfig (config) {
|
|
1091
|
-
const ARCHIVE_DEFAULT = 60 * 60 * 12
|
|
1092
|
-
|
|
1093
|
-
assert(!('archiveCompletedAfterSeconds' in config) || config.archiveCompletedAfterSeconds >= 1,
|
|
1094
|
-
'configuration assert: archiveCompletedAfterSeconds must be at least every second and less than ')
|
|
1095
|
-
|
|
1096
|
-
config.archiveSeconds = config.archiveCompletedAfterSeconds || ARCHIVE_DEFAULT
|
|
1097
|
-
config.archiveInterval = `${config.archiveSeconds} seconds`
|
|
1098
|
-
|
|
1099
|
-
if (config.archiveSeconds < 60) {
|
|
1100
|
-
emitWarning(WARNINGS.CRON_DISABLED)
|
|
1101
|
-
}
|
|
1102
|
-
}
|
|
1103
|
-
|
|
1104
|
-
function applyArchiveFailedConfig (config) {
|
|
1105
|
-
assert(!('archiveFailedAfterSeconds' in config) || config.archiveFailedAfterSeconds >= 1,
|
|
1106
|
-
'configuration assert: archiveFailedAfterSeconds must be at least every second and less than ')
|
|
1107
|
-
|
|
1108
|
-
config.archiveFailedSeconds = config.archiveFailedAfterSeconds || config.archiveSeconds
|
|
1109
|
-
config.archiveFailedInterval = `${config.archiveFailedSeconds} seconds`
|
|
1110
|
-
|
|
1111
|
-
// Do not emit warning twice
|
|
1112
|
-
if (config.archiveFailedSeconds < 60 && config.archiveSeconds >= 60) {
|
|
1113
|
-
emitWarning(WARNINGS.CRON_DISABLED)
|
|
1114
|
-
}
|
|
1115
|
-
}
|
|
1116
|
-
|
|
1117
|
-
function applyCompletionConfig (config, defaults) {
|
|
1118
|
-
assert(!('onComplete' in config) || config.onComplete === true || config.onComplete === false,
|
|
1119
|
-
'configuration assert: onComplete must be either true or false')
|
|
1120
|
-
|
|
1121
|
-
if (!('onComplete' in config)) {
|
|
1122
|
-
config.onComplete = defaults
|
|
1123
|
-
? defaults.onComplete
|
|
1124
|
-
: false
|
|
1125
|
-
}
|
|
1126
|
-
}
|
|
1127
|
-
|
|
1128
|
-
function applyRetentionConfig (config, defaults) {
|
|
1129
|
-
assert(!('retentionSeconds' in config) || config.retentionSeconds >= 1,
|
|
1130
|
-
'configuration assert: retentionSeconds must be at least every second')
|
|
1131
|
-
|
|
1132
|
-
assert(!('retentionMinutes' in config) || <span class="branch-1 cbranch-no" title="branch not covered" >config.retentionMinutes >= 1,</span>
|
|
1133
|
-
'configuration assert: retentionMinutes must be at least every minute')
|
|
1134
|
-
|
|
1135
|
-
assert(!('retentionHours' in config) || <span class="branch-1 cbranch-no" title="branch not covered" >config.retentionHours >= 1,</span>
|
|
1136
|
-
'configuration assert: retentionHours must be at least every hour')
|
|
1137
|
-
|
|
1138
|
-
assert(!('retentionDays' in config) || <span class="branch-1 cbranch-no" title="branch not covered" >config.retentionDays >= 1,</span>
|
|
1139
|
-
'configuration assert: retentionDays must be at least every day')
|
|
1140
|
-
|
|
1141
|
-
const keepUntil = ('retentionDays' in config)
|
|
1142
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >`${config.retentionDays} days`</span>
|
|
1143
|
-
: ('retentionHours' in config)
|
|
1144
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >`${config.retentionHours} hours`</span>
|
|
1145
|
-
: ('retentionMinutes' in config)
|
|
1146
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >`${config.retentionMinutes} minutes`</span>
|
|
1147
|
-
: ('retentionSeconds' in config)
|
|
1148
|
-
? `${config.retentionSeconds} seconds`
|
|
1149
|
-
: defaults
|
|
1150
|
-
? defaults.keepUntil
|
|
1151
|
-
: '14 days'
|
|
1152
|
-
|
|
1153
|
-
config.keepUntil = keepUntil
|
|
1154
|
-
}
|
|
1155
|
-
|
|
1156
|
-
function applyExpirationConfig (config, defaults) {
|
|
1157
|
-
if ('expireIn' in config) {
|
|
1158
|
-
emitWarning(WARNINGS.EXPIRE_IN_REMOVED)
|
|
1159
|
-
}
|
|
1160
|
-
|
|
1161
|
-
assert(!('expireInSeconds' in config) || config.expireInSeconds >= 1,
|
|
1162
|
-
'configuration assert: expireInSeconds must be at least every second')
|
|
1163
|
-
|
|
1164
|
-
assert(!('expireInMinutes' in config) || <span class="branch-1 cbranch-no" title="branch not covered" >config.expireInMinutes >= 1,</span>
|
|
1165
|
-
'configuration assert: expireInMinutes must be at least every minute')
|
|
1166
|
-
|
|
1167
|
-
assert(!('expireInHours' in config) || <span class="branch-1 cbranch-no" title="branch not covered" >config.expireInHours >= 1,</span>
|
|
1168
|
-
'configuration assert: expireInHours must be at least every hour')
|
|
1169
|
-
|
|
1170
|
-
const expireIn = ('expireInHours' in config)
|
|
1171
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >`${config.expireInHours} hours`</span>
|
|
1172
|
-
: ('expireInMinutes' in config)
|
|
1173
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >`${config.expireInMinutes} minutes`</span>
|
|
1174
|
-
: ('expireInSeconds' in config)
|
|
1175
|
-
? `${config.expireInSeconds} seconds`
|
|
1176
|
-
: defaults
|
|
1177
|
-
? defaults.expireIn
|
|
1178
|
-
: '15 minutes'
|
|
1179
|
-
|
|
1180
|
-
config.expireIn = expireIn
|
|
1181
|
-
}
|
|
1182
|
-
|
|
1183
|
-
function applyRetryConfig (config, defaults) {
|
|
1184
|
-
assert(!('retryDelay' in config) || (Number.isInteger(config.retryDelay) && config.retryDelay >= 0), 'retryDelay must be an integer >= 0')
|
|
1185
|
-
assert(!('retryLimit' in config) || (Number.isInteger(config.retryLimit) && config.retryLimit >= 0), 'retryLimit must be an integer >= 0')
|
|
1186
|
-
assert(!('retryBackoff' in config) || (config.retryBackoff === true || <span class="branch-2 cbranch-no" title="branch not covered" >config.retryBackoff === false)</span>, 'retryBackoff must be either true or false')
|
|
1187
|
-
|
|
1188
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (defaults) {
|
|
1189
|
-
config.retryDelay = config.retryDelay || defaults.retryDelay
|
|
1190
|
-
config.retryLimit = config.retryLimit || defaults.retryLimit
|
|
1191
|
-
config.retryBackoff = config.retryBackoff || defaults.retryBackoff
|
|
1192
|
-
}
|
|
1193
|
-
|
|
1194
|
-
config.retryDelay = config.retryDelay || 0
|
|
1195
|
-
config.retryLimit = config.retryLimit || 0
|
|
1196
|
-
config.retryBackoff = !!config.retryBackoff
|
|
1197
|
-
config.retryDelay = (config.retryBackoff && !config.retryDelay) ? 1 : config.retryDelay
|
|
1198
|
-
config.retryLimit = (config.retryDelay && !config.retryLimit) ? 1 : config.retryLimit
|
|
1199
|
-
}
|
|
1200
|
-
|
|
1201
|
-
function applyNewJobCheckInterval (config, defaults) {
|
|
1202
|
-
const second = 1000
|
|
1203
|
-
|
|
1204
|
-
assert(!('newJobCheckInterval' in config) || config.newJobCheckInterval >= 100,
|
|
1205
|
-
'configuration assert: newJobCheckInterval must be at least every 100ms')
|
|
1206
|
-
|
|
1207
|
-
assert(!('newJobCheckIntervalSeconds' in config) || config.newJobCheckIntervalSeconds >= 1,
|
|
1208
|
-
'configuration assert: newJobCheckIntervalSeconds must be at least every second')
|
|
1209
|
-
|
|
1210
|
-
config.newJobCheckInterval = ('newJobCheckIntervalSeconds' in config)
|
|
1211
|
-
? config.newJobCheckIntervalSeconds * second
|
|
1212
|
-
: ('newJobCheckInterval' in config)
|
|
1213
|
-
? config.newJobCheckInterval
|
|
1214
|
-
: defaults
|
|
1215
|
-
? defaults.newJobCheckInterval
|
|
1216
|
-
: second * 2
|
|
1217
|
-
}
|
|
1218
|
-
|
|
1219
|
-
function applyMaintenanceConfig (config) {
|
|
1220
|
-
assert(!('maintenanceIntervalSeconds' in config) || config.maintenanceIntervalSeconds >= 1,
|
|
1221
|
-
'configuration assert: maintenanceIntervalSeconds must be at least every second')
|
|
1222
|
-
|
|
1223
|
-
assert(!('maintenanceIntervalMinutes' in config) || config.maintenanceIntervalMinutes >= 1,
|
|
1224
|
-
'configuration assert: maintenanceIntervalMinutes must be at least every minute')
|
|
1225
|
-
|
|
1226
|
-
config.maintenanceIntervalSeconds = ('maintenanceIntervalMinutes' in config)
|
|
1227
|
-
? config.maintenanceIntervalMinutes * 60
|
|
1228
|
-
: ('maintenanceIntervalSeconds' in config)
|
|
1229
|
-
? config.maintenanceIntervalSeconds
|
|
1230
|
-
: 120
|
|
1231
|
-
}
|
|
1232
|
-
|
|
1233
|
-
function applyDeleteConfig (config) {
|
|
1234
|
-
assert(!('deleteAfterSeconds' in config) || config.deleteAfterSeconds >= 1,
|
|
1235
|
-
'configuration assert: deleteAfterSeconds must be at least every second')
|
|
1236
|
-
|
|
1237
|
-
assert(!('deleteAfterMinutes' in config) || <span class="branch-1 cbranch-no" title="branch not covered" >config.deleteAfterMinutes >= 1,</span>
|
|
1238
|
-
'configuration assert: deleteAfterMinutes must be at least every minute')
|
|
1239
|
-
|
|
1240
|
-
assert(!('deleteAfterHours' in config) || <span class="branch-1 cbranch-no" title="branch not covered" >config.deleteAfterHours >= 1,</span>
|
|
1241
|
-
'configuration assert: deleteAfterHours must be at least every hour')
|
|
1242
|
-
|
|
1243
|
-
assert(!('deleteAfterDays' in config) || <span class="branch-1 cbranch-no" title="branch not covered" >config.deleteAfterDays >= 1,</span>
|
|
1244
|
-
'configuration assert: deleteAfterDays must be at least every day')
|
|
1245
|
-
|
|
1246
|
-
const deleteAfter = ('deleteAfterDays' in config)
|
|
1247
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >`${config.deleteAfterDays} days`</span>
|
|
1248
|
-
: ('deleteAfterHours' in config)
|
|
1249
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >`${config.deleteAfterHours} hours`</span>
|
|
1250
|
-
: ('deleteAfterMinutes' in config)
|
|
1251
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >`${config.deleteAfterMinutes} minutes`</span>
|
|
1252
|
-
: ('deleteAfterSeconds' in config)
|
|
1253
|
-
? `${config.deleteAfterSeconds} seconds`
|
|
1254
|
-
: '7 days'
|
|
1255
|
-
|
|
1256
|
-
config.deleteAfter = deleteAfter
|
|
1257
|
-
}
|
|
1258
|
-
|
|
1259
|
-
function applyMonitoringConfig (config) {
|
|
1260
|
-
assert(!('monitorStateIntervalSeconds' in config) || config.monitorStateIntervalSeconds >= 1,
|
|
1261
|
-
'configuration assert: monitorStateIntervalSeconds must be at least every second')
|
|
1262
|
-
|
|
1263
|
-
assert(!('monitorStateIntervalMinutes' in config) || config.monitorStateIntervalMinutes >= 1,
|
|
1264
|
-
'configuration assert: monitorStateIntervalMinutes must be at least every minute')
|
|
1265
|
-
|
|
1266
|
-
config.monitorStateIntervalSeconds =
|
|
1267
|
-
('monitorStateIntervalMinutes' in config)
|
|
1268
|
-
? config.monitorStateIntervalMinutes * 60
|
|
1269
|
-
: ('monitorStateIntervalSeconds' in config)
|
|
1270
|
-
? config.monitorStateIntervalSeconds
|
|
1271
|
-
: null
|
|
1272
|
-
|
|
1273
|
-
const TEN_MINUTES_IN_SECONDS = 600
|
|
1274
|
-
|
|
1275
|
-
assert(!('clockMonitorIntervalSeconds' in config) || (config.clockMonitorIntervalSeconds >= 1 && config.clockMonitorIntervalSeconds <= TEN_MINUTES_IN_SECONDS),
|
|
1276
|
-
'configuration assert: clockMonitorIntervalSeconds must be between 1 second and 10 minutes')
|
|
1277
|
-
|
|
1278
|
-
assert(!('clockMonitorIntervalMinutes' in config) || (<span class="branch-1 cbranch-no" title="branch not covered" >config.clockMonitorIntervalMinutes >= 1 </span>&& <span class="branch-2 cbranch-no" title="branch not covered" >config.clockMonitorIntervalMinutes <= 10)</span>,
|
|
1279
|
-
'configuration assert: clockMonitorIntervalMinutes must be between 1 and 10')
|
|
1280
|
-
|
|
1281
|
-
config.clockMonitorIntervalSeconds =
|
|
1282
|
-
('clockMonitorIntervalMinutes' in config)
|
|
1283
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >config.clockMonitorIntervalMinutes * 60</span>
|
|
1284
|
-
: ('clockMonitorIntervalSeconds' in config)
|
|
1285
|
-
? config.clockMonitorIntervalSeconds
|
|
1286
|
-
: TEN_MINUTES_IN_SECONDS
|
|
1287
|
-
|
|
1288
|
-
assert(!('cronMonitorIntervalSeconds' in config) || (config.cronMonitorIntervalSeconds >= 1 && config.cronMonitorIntervalSeconds <= 60),
|
|
1289
|
-
'configuration assert: cronMonitorIntervalSeconds must be between 1 and 60 seconds')
|
|
1290
|
-
|
|
1291
|
-
config.cronMonitorIntervalSeconds =
|
|
1292
|
-
('cronMonitorIntervalSeconds' in config)
|
|
1293
|
-
? config.cronMonitorIntervalSeconds
|
|
1294
|
-
: 60
|
|
1295
|
-
|
|
1296
|
-
assert(!('cronWorkerIntervalSeconds' in config) || (config.cronWorkerIntervalSeconds >= 1 && config.cronWorkerIntervalSeconds <= 60),
|
|
1297
|
-
'configuration assert: cronWorkerIntervalSeconds must be between 1 and 60 seconds')
|
|
1298
|
-
|
|
1299
|
-
config.cronWorkerIntervalSeconds =
|
|
1300
|
-
('cronWorkerIntervalSeconds' in config)
|
|
1301
|
-
? config.cronWorkerIntervalSeconds
|
|
1302
|
-
: 4
|
|
1303
|
-
}
|
|
1304
|
-
|
|
1305
|
-
function applyUuidConfig (config) {
|
|
1306
|
-
assert(!('uuid' in config) || config.uuid === 'v1' || config.uuid === 'v4', 'configuration assert: uuid option only supports v1 or v4')
|
|
1307
|
-
config.uuid = config.uuid || 'v4'
|
|
1308
|
-
}
|
|
1309
|
-
|
|
1310
|
-
function warnClockSkew (message) {
|
|
1311
|
-
emitWarning(WARNINGS.CLOCK_SKEW, message, { force: true })
|
|
1312
|
-
}
|
|
1313
|
-
|
|
1314
|
-
function emitWarning (warning, message, options = {}) {
|
|
1315
|
-
const { force } = options
|
|
1316
|
-
|
|
1317
|
-
if (force || !warning.warned) {
|
|
1318
|
-
warning.warned = true
|
|
1319
|
-
message = `${warning.message} ${message || ''}`
|
|
1320
|
-
process.emitWarning(message, warning.type, warning.code)
|
|
1321
|
-
}
|
|
1322
|
-
}
|
|
1323
|
-
</pre></td></tr></table></pre>
|
|
1324
|
-
|
|
1325
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1326
|
-
</div><!-- /wrapper -->
|
|
1327
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1328
|
-
Code coverage generated by
|
|
1329
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1330
|
-
at 2023-07-02T21:44:11.859Z
|
|
1331
|
-
</div>
|
|
1332
|
-
<script src="prettify.js"></script>
|
|
1333
|
-
<script>
|
|
1334
|
-
window.onload = function () {
|
|
1335
|
-
prettyPrint();
|
|
1336
|
-
};
|
|
1337
|
-
</script>
|
|
1338
|
-
<script src="sorter.js"></script>
|
|
1339
|
-
<script src="block-navigation.js"></script>
|
|
1340
|
-
</body>
|
|
1341
|
-
</html>
|
|
1342
|
-
|