sidekiq 3.4.2 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 608ba6cc7b3fc425bc309c318204b5eae5bc467b
4
- data.tar.gz: aaa3c0a205cce3385119d36bf2bf19a18678f9af
3
+ metadata.gz: b52bf9136f69ca7203686496bcdf680f62013981
4
+ data.tar.gz: 4ffaee1757a6f975e95789832d7f809f6224cd5e
5
5
  SHA512:
6
- metadata.gz: da37f47a821a70ea4ccbd31957354ade6415bc83b8a053d5acbbafcbc7cc33e90ea5d1bbd97b079c740ab4c0f12a759b2ae009e6dbaae2ca709aae5958e1e719
7
- data.tar.gz: 25eb856dc4b4c6698b6167d1fa57e874670b6169a63e8eaa9d178aa1a0240d4195a216530fb07f7f65f1076461ab92095714d776c20e53debae6a01efadd1909
6
+ metadata.gz: 08a8a7b31a1f59c197c18b98c670d9991ee660397bdc09b6a5f06f73b885d5fc09e57de4d1ca60e7a2956e06e541a9245627367525d4b52f36be57040b362d79
7
+ data.tar.gz: 75ad33dfa747d4d2a89bd98d2cabe601b99cc3a6085190361d134c3128d7faddfcbf182d5a278cf8cedb087ed5f0564bd7e839a1f9665a21777f31430c8264c9
@@ -1,85 +1,95 @@
1
- THIS LICENSE AGREEMENT DESCRIBES YOUR RIGHTS WITH RESPECT TO THE SOFTWARE AND ITS COMPONENTS.
1
+ END-USER LICENSE AGREEMENT
2
2
 
3
- 1. OWNERSHIP, LICENSE GRANT
3
+ ------------------------------------------------------------------------------
4
4
 
5
- This is a license agreement and not an agreement for sale. We reserve ownership of all intellectual property rights inherent in or relating to the Software, which include, but are not limited to, all copyright, patent rights, all rights in relation to registered and unregistered trademarks (including service marks), confidential information (including trade secrets and know-how) and all rights other than those expressly granted by this License Agreement.
5
+ IMPORTANT: THIS SOFTWARE END-USER LICENSE AGREEMENT ("EULA") IS A LEGAL AGREEMENT (“Agreement”) BETWEEN YOU (THE CUSTOMER, EITHER AS AN INDIVIDUAL OR, IF PURCHASED OR OTHERWISE ACQUIRED BY OR FOR AN ENTITY, AS AN ENTITY) AND CONTRIBUTED SYSTEMS. READ IT CAREFULLY BEFORE COMPLETING THE INSTALLATION PROCESS AND USING SIDEKIQ PRO AND RELATED SOFTWARE COMPONENTS (“SOFTWARE”). IT PROVIDES A LICENSE TO USE THE SOFTWARE AND CONTAINS WARRANTY INFORMATION AND LIABILITY DISCLAIMERS. BY INSTALLING AND USING THE SOFTWARE, YOU ARE CONFIRMING YOUR ACCEPTANCE OF THE SOFTWARE AND AGREEING TO BECOME BOUND BY THE TERMS OF THIS AGREEMENT.
6
6
 
7
- Subject to the payment of the fee required and subject to the terms and conditions of this License Agreement, We grant to You a revocable, non- transferable and non-exclusive license (i) for Designated User(s) (as defined below) within Your organization to install and use the Software on any workstations used exclusively by such Designated User and (ii) for You to install and use the Software in connection with unlimited domains and sub-domains on unlimited servers, solely in connection with distribution of the Software in accordance with sections 3 and 4 below. This license is not sublicensable except as explicitly set forth herein. “Designated User(s)” shall mean Your employee(s) acting within the scope of their employment or Your consultant(s) or contractor(s) acting within the scope of the services they provide for You or on Your behalf for whom You have purchased a license to use the Software.
7
+ ------------------------------------------------------------------------------
8
8
 
9
- 2. PERMITTED USES, SOURCE CODE, MODIFICATIONS
9
+ In order to use the Software under this Agreement, you must receive a “Source URL” at the time of purchase, in accordance with the scope of use and other terms specified for each type of Software and as set forth in this Section 1 of this Agreement.
10
10
 
11
- We provide You with source code so that You can create Modifications of the original Software, where Modification means: a) any addition to or deletion from the contents of a file included in the original Software or previous Modifications created by You, or b) any new file that contains any part of the original Software or previous Modifications. While You retain all rights to any original work authored by You as part of the Modifications, We continue to own all copyright and other intellectual property rights in the Software.
11
+ 1. License Grant
12
12
 
13
- 3. DISTRIBUTION
13
+ 1.1 General Use. This Agreement grants you a non-exclusive, non-transferable, limited license to the use rights for the Software, without the right to grant sublicenses, subject to the terms and conditions in this Agreement. The Software is licensed, not sold.
14
14
 
15
- You may distribute the Software in any applications, frameworks, or elements (collectively referred to as an “Application” or “Applications”) that you develop using the Software in accordance with this License Agreement, provided that such distribution does not violate the restrictions set forth in section 4 of this License Agreement. You must not remove, obscure or interfere with any copyright, acknowledgment, attribution, trademark, warning or disclaimer statement affixed to, incorporated in or otherwise applied in connection with the Software.
15
+ 1.2 Unlimited Organization License. If you purchased an Organization License (included with the Sidekiq Pro Software), you may install the Software on an unlimited number of Hosts. “Host” means any physical or virtual machine which is controlled by you. You may also run an unlimited number of Workers. “Worker” means a thread within a Sidekiq server process which executes jobs. You may concurrently run the software on an unlimited number of Hosts, with each host running an unlimited number of Workers.
16
16
 
17
- You are required to ensure that the Software is not reused by or with any applications other than those with which You distribute it as permitted herein. For example, if You install the Software on a customer’s server, that customer is not permitted to use the Software independently of Your application, and must be informed as such.
17
+ 1.3 Limited Organization License. If you purchased an Organization License (included with the Sidekiq Enterprise Software), you may install the Software on an unlimited number of Hosts. “Host” means any physical or virtual machine which is controlled by you. The aggregate number of Workers run by the hosts must not exceed the maximum number of Workers authorized at the time of purchase. “Worker” means a thread within a Sidekiq server process which executes jobs. In order to run additional Workers, you must purchase an additional allowance from Contributed Systems.
18
18
 
19
- You will not owe Us any royalties for Your distribution of the Software in accordance with this License Agreement.
19
+ 1.4 Appliance License. If you purchased an Appliance License, you may distribute the Software in any applications, frameworks, or elements (collectively referred to as an “Application” or “Applications”) that you develop using the Software in accordance with this EULA, provided that such distribution does not violate the restrictions set forth in section 3 of this EULA. You must not remove, obscure or interfere with any copyright, acknowledgment, attribution, trademark, warning or disclaimer statement affixed to, incorporated in or otherwise applied in connection with the Software. You are required to ensure that the Software is not reused by or with any applications other than those with which you distribute it as permitted herein. For example, if You install the Software on a customer’s server, that customer is not permitted to use the Software independently of your Application. You must inform Contributed Systems of your knowledge of any infringing use of the Software by any of your customers. You are liable for compliance by those third parties with the terms and conditions of this EULA. You will not owe Contributed Systems any royalties for your distribution of the Software in accordance with this EULA.
20
20
 
21
- 4. PROHIBITED USES
21
+ 1.5 Archive Copies. You are entitled to make a reasonable amount of copies of the Software for archival purposes. Each copy must reproduce all copyright and other proprietary rights notices on or in the Software Product.
22
22
 
23
- You may not, without Our prior written consent, redistribute the Software or Modifications other than by including the Software or a portion thereof within Your own product, which must have substantially different functionality than the Software or Modifications and must not allow any third party to use the Software or Modifications, or any portions thereof, for software development or application development purposes. You are explicitly not allowed to redistribute the Software or Modifications as part of any product that can be described as a development toolkit or library, an application builder, a website builder or any product that is intended for use by software, application, or website developers or designers. You are not allowed to redistribute any part of the Software documentation. You may not change or remove the copyright notice from any of the files included in the Software or Modifications.
23
+ 1.6 Electronic Delivery. All Software and license documentation shall be delivered by electronic means unless otherwise specified on the applicable invoice or at the time of purchase. Software shall be deemed delivered when it is made available for download by you (“Delivery”).
24
24
 
25
- You may not redistribute the Software as part of a product, "appliance" or "virtual server". You may not redistribute the Software on any server which is not directly under Your control.
25
+ 2. Modifications. Contributed Systems shall provide you with source code so that you can create Modifications of the original software. “Modification” means: (a) any addition to or deletion from the contents of a file included in the original Software or previous Modifications created by You, or (b) any new file that contains any part of the original Software or previous Modifications. While you retain all rights to any original work authored by you as part of the Modifications, We continue to own all copyright and other intellectual property rights in the Software.
26
26
 
27
- You may not publicize your unique "Source URL" for Sidekiq Pro. If your unique Source URL is ever publicized, We reserve the right to terminate your access without notice.
27
+ 3. Restricted Uses.
28
28
 
29
- UNDER NO CIRCUMSTANCES MAY YOU USE THE SOFTWARE FOR A PRODUCT THAT IS INTENDED FOR SOFTWARE OR APPLICATION DEVELOPMENT PURPOSES.
29
+ 3.1 You shall not (and shall not allow any third party to): (a) decompile, disassemble, or otherwise reverse engineer the Software or attempt to reconstruct or discover any source code, underlying ideas, algorithms, file formats or programming interfaces of the Software by any means whatsoever (except and only to the extent that applicable law prohibits or restricts reverse engineering restrictions); (b) distribute, sell, sublicense, rent, lease or use the Software for time sharing, hosting, service provider or like purposes, except as expressly permitted under this Agreement; (c) redistribute the Software or Modifications other than by including the Software or a portion thereof within your own product, which must have substantially different functionality than the Software or Modifications and must not allow any third party to use the Software or Modifications, or any portions thereof, for software development or application development purposes; (d) redistribute the Software as part of a product, "appliance" or "virtual server"; (e) redistribute the Software on any server which is not directly under your control; (f) remove any product identification, proprietary, copyright or other notices contained in the Software; (g) modify any part of the Software, create a derivative work of any part of the Software (except as permitted in Section 4), or incorporate the Software, except to the extent expressly authorized in writing by Contributed Systems; (h) publicly disseminate performance information or analysis (including, without limitation, benchmarks) from any source relating to the Software; (i) utilize any equipment, device, software, or other means designed to circumvent or remove any form of Source URL or copy protection used by Contributed Systems in connection with the Software, or use the Software together with any authorization code, Source URL, serial number, or other copy protection device not supplied by Contributed Systems; (j) use the Software to develop a product which is competitive with any Contributed Systems product offerings; or (k) use unauthorized Source URLS or keycode(s) or distribute or publish Source URLs or keycode(s), except as may be expressly permitted by Contributed Systems in writing. If your unique Source URL is ever published, Contributed Systems reserves the right to terminate your access without notice.
30
+
31
+ 3.2 UNDER NO CIRCUMSTANCES MAY YOU USE THE SOFTWARE FOR A PRODUCT THAT IS INTENDED FOR SOFTWARE OR APPLICATION DEVELOPMENT PURPOSES.
30
32
 
31
33
  The Open Source version of the Software (“LGPL Version”) is licensed
32
34
  under the terms of the GNU Lesser General Public License versions 3.0
33
- (“LGPL”) and not under this License Agreement. If You, or another third
34
- party, has, at any time, developed all (or any portions of) the
35
- Application(s) using the LGPL Version, You may not combine such
36
- development work with the Software and must license such Application(s)
37
- (or any portions derived there from) under the terms of the GNU Lesser
38
- General Public License version 3, a copy of which is located at
39
- http://www.gnu.org/copyleft/lgpl.html.
35
+ (“LGPL”) and not under this EULA.
36
+
37
+ 4. Ownership. Notwithstanding anything to the contrary contained herein, except for the limited license rights expressly provided herein, Contributed Systems and its suppliers have and will retain all rights, title and interest (including, without limitation, all patent, copyright, trademark, trade secret and other intellectual property rights) in and to the Software and all copies, modifications and derivative works thereof (including any changes which incorporate any of your ideas, feedback or suggestions). You acknowledge that you are obtaining only a limited license right to the Software, and that irrespective of any use of the words “purchase”, “sale” or like terms hereunder no ownership rights are being conveyed to you under this Agreement or otherwise.
38
+
39
+ 5. Fees and Payment. The Software license fees will be due and payable in full as set forth in the applicable invoice or at the time of purchase. If the Software does not function properly within two weeks of purchase, please contact us within those two weeks for a refund. You shall be responsible for all taxes, withholdings, duties and levies arising from the order (excluding taxes based on the net income of Contributed Systems).
40
+
41
+ 6. Support, Maintenance and Services. Subject to the terms and conditions of this Agreement, as set forth in your invoice, and as set forth on the Sidekiq Pro support page (https://github.com/mperham/sidekiq/wiki/Pro-Support), support and maintenance services may be included with the purchase of your license subscription.
42
+
43
+ 7. Term of Agreement.
44
+
45
+ 7.1 Term. This Agreement is effective as of the Delivery of the Software and expires at such time as all license and service subscriptions hereunder have expired in accordance with their own terms (the “Term”). For clarification, the term of your license under this Agreement may be perpetual, limited for Evaluation Version, or designated as a fixed-term license in the Invoice, and shall be specified at your time of purchase. Either party may terminate this Agreement (including all related Invoices) if the other party: (a) fails to cure any material breach of this Agreement within thirty (30) days after written notice of such breach, provided that Contributed Systems may terminate this Agreement immediately upon any breach of Section 3 or if you exceed any other restrictions contained in Section 1, unless otherwise specified in this agreement; (b) ceases operation without a successor; or (c) seeks protection under any bankruptcy, receivership, trust deed, creditors arrangement, composition or comparable proceeding, or if any such proceeding is instituted against such party (and not dismissed within sixty (60) days)). Termination is not an exclusive remedy and the exercise by either party of any remedy under this Agreement will be without prejudice to any other remedies it may have under this Agreement, by law, or otherwise.
46
+
47
+ 7.2 Termination. Upon any termination of this Agreement, you shall cease any and all use of any Software and destroy all copies thereof.
48
+
49
+ 7.3 Expiration of License. Upon the expiration of any term under this Agreement, (a) all Software updates and services pursuant to the license shall cease, (b) you may only continue to run existing installations of the Software, (c) you may not install the Software on any additional Hosts, and (d) any new installation of the Software shall require the purchase of a new license subscription from Contributed Systems.
40
50
 
41
- 5. TERMINATION
51
+ 8. Disclaimer of Warranties. The Software is provided "as is," with all faults, defects and errors, and without warranty of any kind. Contributed Systems does not warrant that the Software will be free of bugs, errors, viruses or other defects, and Contributed Systems shall have no liability of any kind for the use of or inability to use the Software, the Software content or any associated service, and you acknowledge that it is not technically practicable for Contributed Systems to do so.
52
+ To the maximum extent permitted by applicable law, Contributed Systems disclaims all warranties, express, implied, arising by law or otherwise, regarding the Software, the Software content and their respective performance or suitability for your intended use, including without limitation any implied warranty of merchantability, fitness for a particular purpose.
42
53
 
43
- This License Agreement and Your right to use the Software and Modifications will terminate immediately without notice if You fail to comply with the terms and conditions of this License Agreement. Upon termination, You agree to immediately cease using and destroy the Software or Modifications, including all accompanying documents. The provisions of sections 4, 5, 6, 7, 8, 9, 10 and 12 will survive any termination of this License Agreement.
54
+ 9. Limitation of Liability.
44
55
 
45
- 6. DISCLAIMER OF WARRANTIES
56
+ In no event will Contributed Systems be liable for any direct, indirect, consequential, incidental, special, exemplary, or punitive damages or liabilities whatsoever arising from or relating to the Software, the Software content or this Agreement, whether based on contract, tort (including negligence), strict liability or other theory, even if Contributed Systems has been advised of the possibility of such damages.
46
57
 
47
- TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, WE AND OUR SUPPLIERS DISCLAIM ALL WARRANTIES AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE. WE DO NOT GUARANTEE THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, AND YOU ACKNOWLEDGE THAT IT IS NOT TECHNICALLY PRACTICABLE FOR US TO DO SO.
58
+ In no event will Contributed Systems' liability exceed the Software license price as indicated in the invoice. The existence of more than one claim will not enlarge or extend this limit.
48
59
 
49
- 7. LIMITATION OF LIABILITIES
60
+ 10. Remedies. Your exclusive remedy and Contributed Systems’ entire liability for breach of this Agreement shall be limited, at Contributed Systems’ sole and exclusive discretion, to (a) replacement of any defective software or documentation; or (b) refund of the license fee paid to Contributed Systems, payable in accordance with Contributed Systems' refund policy.
50
61
 
51
- TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL WE OR OUR SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR ANY OTHER PECUNIARY LAW) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF WE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN ANY CASE, OUR ENTIRE LIABILITY UNDER ANY PROVISION OF THIS LICENSE AGREEMENT SHALL BE LIMITED TO THE AMOUNT ACTUALLY PAID BY YOU FOR THE SOFTWARE.
62
+ 11. Acknowledgements.
52
63
 
53
- 8. VERIFICATION
64
+ 11.1 Consent to the Use of Data. You agree that Contributed Systems and its affiliates may collect and use technical information gathered as part of the product support services. Contributed Systems may use this information solely to improve products and services and will not disclose this information in a form that personally identifies you.
54
65
 
55
- We or a certified auditor acting on Our behalf, may, upon its reasonable request and at its expense, audit You with respect to the use of the Software. Such audit may be conducted by mail, electronic means or through an in-person visit to Your place of business. Any such in-person audit shall be conducted during regular business hours at Your facilities and shall not unreasonably interfere with Your business activities. We shall not remove, copy, or redistribute any electronic material during the course of an audit. If an audit reveals that You are using the Software in a way that is in material violation of the terms of the License Agreement, then You shall pay Our reasonable costs of conducting the audit. In the case of a material violation, You agree to pay Us any amounts owing that are attributable to the unauthorized use. In the alternative, We reserve the right, at Our sole option, to terminate the licenses for the Software.
66
+ 11.2 Verification. We or a certified auditor acting on our behalf, may, upon its reasonable request and at its expense, audit you with respect to the use of the Software. Such audit may be conducted by mail, electronic means or through an in-person visit to your place of business. Any such in-person audit shall be conducted during regular business hours at your facilities and shall not unreasonably interfere with your business activities. We shall not remove, copy, or redistribute any electronic material during the course of an audit. If an audit reveals that you are using the Software in a way that is in material violation of the terms of the EULA, then you shall pay our reasonable costs of conducting the audit. In the case of a material violation, you agree to pay Us any amounts owing that are attributable to the unauthorized use. In the alternative, We reserve the right, at our sole option, to terminate the licenses for the Software.
56
67
 
57
- 9. THIRD PARTY SOFTWARE
68
+ 11.3 Government End Users. If the Software and related documentation are supplied to or purchased by or on behalf of the United States Government, then the Software is deemed to be "commercial software" as that term is used in the Federal Acquisition Regulation system. Rights of the United States shall not exceed the minimum rights set forth in FAR 52.227-19 for "restricted computer software". All other terms and conditions of this Agreement apply.
58
69
 
59
- Examples included in Software may provide links to third party libraries or code (collectively “Third Party Software”) to implement various functions. Third Party Software does not comprise part of the Software. In some cases, access to Third Party Software may be included along with the Software delivery as a convenience for demonstration purposes. Such source code and libraries may be included in the “…/examples” source tree delivered with the Software and do not comprise the Software. Licensee acknowledges (1) that some part of Third Party Software may require additional licensing of copyright and patents from the owners of such, and (2) that distribution of any of the Software referencing or including any portion of a Third Party Software may require appropriate licensing from such third parties.
70
+ 12. Third Party Software. Examples included in Software may provide links to third party libraries or code (collectively “Third Party Software”) to implement various functions. Third Party Software does not comprise part of the Software. In some cases, access to Third Party Software may be included along with the Software delivery as a convenience for demonstration purposes. Such source code and libraries may be included in the “…/examples” source tree delivered with the Software and do not comprise the Software. Licensee acknowledges (1) that some part of Third Party Software may require additional licensing of copyright and patents from the owners of such, and (2) that distribution of any of the Software referencing or including any portion of a Third Party Software may require appropriate licensing from such third parties.
60
71
 
61
- 10. PAYMENT AND TAXES
62
72
 
63
- If credit has been extended to You by Us, all payments under this License Agreement are due within thirty (30) days of the date We mail an invoice to You. If We have not extended credit to You, You shall be required to make payment concurrent with the delivery of the Software by Us. All amounts payable are gross amounts but exclusive of any value added tax, use tax, sales tax or similar tax. You shall be entitled to withhold from payments any applicable withholding taxes and comply with all applicable tax and employment legislation. Each party shall pay all taxes (including, but not limited to, taxes based upon its income) or levies imposed on it under applicable laws, regulations and tax treaties as a result of this Agreement and any payments made hereunder (including those required to be withheld or deducted from payments). Each party shall furnish evidence of such paid taxes as is sufficient to enable the other party to obtain any credits available to it, including original withholding tax certificates.
73
+ 13. Miscellaneous
64
74
 
65
- 11. MISCELLANEOUS
75
+ 13.1 Entire Agreement. This Agreement sets forth our entire agreement with respect to the Software and the subject matter hereof and supersedes all prior and contemporaneous understandings and agreements whether written or oral.
66
76
 
67
- The license granted herein applies only to the version of the Software available when purchased in connection with the terms of this License Agreement. Any previous or subsequent license granted to You for use of the Software shall be governed by the terms and conditions of the agreement entered in connection with purchase of that version of the Software. You agree that you will comply with all applicable laws and regulations with respect to the Software, including without limitation all export and re-export control laws and regulations.
77
+ 13.2 Amendment. Contributed Systems reserves the right, in its sole discretion, to amend this Agreement from time. Amendments to thie Agreement can be located at: https://github.com/mperham/sidekiq/blob/master/COMM-LICENSE.
68
78
 
69
- While redistributing the Software or Modifications thereof, You may choose to offer acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License Agreement. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on our behalf. You agree to indemnify, defend, and hold Us harmless from and against any liability incurred by, or claims asserted against, Us (i) by reason of Your accepting any such support, warranty, indemnity or additional liability; or (ii) arising out of the use, reproduction or distribution of Your Application, except to the extent such claim is solely based on the inclusion of the Software therein.
79
+ 13.3 Assignment. You may not assign this Agreement or any of its rights under this Agreement without the prior written consent of Contributed Systems and any attempted assignment without such consent shall be void.
70
80
 
71
- You agree to be identified as a customer of ours and You agree that We may refer to You by name, trade name and trademark, if applicable, and may briefly describe Your business in our marketing materials and web site.
81
+ 13.4 Export Compliance. You agree to comply with all applicable laws and regulations, including laws, regulations, orders or other restrictions on export, re-export or redistribution of software.
72
82
 
73
- You may not assign this License Agreement without Our prior written consent, which will not be unreasonably withheld. This License Agreement will inure to the benefit of Our successors and assigns.
83
+ 13.5 Indemnification. You agree to defend, indemnify, and hold harmless Contributed Systems from and against any lawsuits, claims, losses, damages, fines and expenses (including attorneys' fees and costs) arising out of your use of the Software or breach of this Agreement.
74
84
 
75
- You acknowledge that this License Agreement is complete and is the exclusive representation of our agreement. No oral or written information given by Us or on our behalf shall create a warranty or collateral contract, or in any way increase the scope of this License Agreement in any way, and You may not rely on any such oral or written information. No term or condition contained in any purchase order shall apply unless expressly accepted by Us in writing,
85
+ 13.6 Governing Law. This Agreement is governed by the laws of the State of Oregon and the United States without regard to conflicts of laws provisions thereof, and without regard to the United Nations Convention on the International Sale of Goods or the Uniform Computer Information Transactions Act, as currently enacted by any jurisdiction or as may be codified or amended from time to time by any jurisdiction. The jurisdiction and venue for actions related to the subject matter hereof shall be the state of Oregon and United States federal courts located in Portland, Oregon, and both parties hereby submit to the personal jurisdiction of such courts.
76
86
 
77
- There are no implied licenses or other implied rights granted under this License Agreement, and all rights, save for those expressly granted hereunder, shall remain with Us and our licensors. In addition, no licenses or immunities are granted to the combination of the Software and/or Modifications, as applicable, with any other software or hardware not delivered by Us to You under this License Agreement.
87
+ 13.7 Attorneys’ Fees and Costs. The prevailing party in any action to enforce this Agreement will be entitled to recover its attorneys’ fees and costs in connection with such action.
78
88
 
79
- If any provision in this License Agreement shall be determined to be invalid, such provision shall be deemed omitted; the remainder of this License Agreement shall continue in full force and effect. If any remedy provided is determined to have failed for its essential purpose, all limitations of liability and exclusions of damages set forth in this License Agreement shall remain in effect.
89
+ 13.8 Severability. If any provision of this Agreement is held by a court of competent jurisdiction to be invalid, illegal, or unenforceable, the remainder of this Agreement will remain in full force and effect.
80
90
 
81
- This License Agreement may be modified only by a written instrument signed by an authorized representative of each party.
91
+ 13.9 Waiver. Failure or neglect by either party to enforce at any time any of the provisions of this licence Agreement shall not be construed or deemed to be a waiver of that party's rights under this Agreement.
82
92
 
83
- This License Agreement is governed by the law of the State of Oregon, United States (notwithstanding conflicts of laws provisions), and all parties irrevocably submit to the jurisdiction of the courts of the State of Oregon and further agree to commence any litigation which may arise hereunder in the state or federal courts located in the judicial district of Multnomah County, Oregon, US.
93
+ 13.10 Headings. The headings of sections and paragraphs of this Agreement are for convenience of reference only and are not intended to restrict, affect or be of any weight in the interpretation or construction of the provisions of such sections or paragraphs.
84
94
 
85
- If the Software or any related documentation is licensed to the U.S. government or any agency thereof, it will be deemed to be “commercial computer software” or “commercial computer software documentation,” pursuant to DFAR Section 227.7202 and FAR Section 12.212. Any use of the Software or related documentation by the U.S. government will be governed solely by the terms of this License Agreement.
95
+ 14. Contact Information. If you have any questions about this EULA, or if you want to contact Contributed Systems for any reason, please direct correspondence to info@contribsys.com.
data/Changes.md CHANGED
@@ -1,9 +1,17 @@
1
+ 3.5.0
2
+ -----------
3
+
4
+ - Polished new banner! [#2522, firedev]
5
+ - Upgrade to Celluloid 0.17. [#2420, digitalextremist]
6
+ - Activate sessions in Sinatra for CSRF protection, requires Rails
7
+ monkeypatch due to rails/rails#15843. [#2460, jc00ke]
8
+
1
9
  3.4.2
2
10
  -----------
3
11
 
4
12
  - Don't allow `Sidekiq::Worker` in ActiveJob::Base classes. [#2424]
5
13
  - Safer display of job data in Web UI [#2405]
6
- - Fix CSRF vulenerability in Web UI, thanks to Egor Homakov for
14
+ - Fix CSRF vulnerability in Web UI, thanks to Egor Homakov for
7
15
  reporting. [#2422] If you are running the Web UI as a standalone Rack app,
8
16
  ensure you have a [session middleware
9
17
  configured](https://github.com/mperham/sidekiq/wiki/Monitoring#standalone):
@@ -0,0 +1,16 @@
1
+ Sidekiq Enterprise Changelog
2
+ =======================
3
+
4
+ Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
5
+
6
+ 0.7.1
7
+ ----------
8
+
9
+ - Fix issue where unique scheduled jobs can't be enqueued upon schedule
10
+ due to the existing unique lock. [#2499]
11
+
12
+
13
+ 0.7.0
14
+ ----------
15
+
16
+ Initial release.
@@ -3,11 +3,29 @@ Sidekiq Pro Changelog
3
3
 
4
4
  Please see [http://sidekiq.org/pro](http://sidekiq.org/pro) for more details and how to buy.
5
5
 
6
- HEAD
6
+ 2.0.8
7
+ -----------
8
+
9
+ - Fix reliable scheduler mangling large numeric arguments. Lua's CJSON
10
+ library cannot accurately encode numbers larger than 14 digits! [#2478]
11
+
12
+ 2.0.7
13
+ -----------
14
+
15
+ - Optimize delete of enormous batches (100,000s of jobs) [#2458]
16
+
17
+ 2.0.6, 1.9.3
18
+ --------------
19
+
20
+ - CSRF protection in Sidekiq 3.4.2 broke job filtering in the Web UI [#2442]
21
+ - Sidekiq Pro 1.x is now limited to Sidekiq < 3.5.0.
22
+
23
+ 2.0.5
7
24
  -----------
8
25
 
9
26
  - Atomic scheduler now sets `enqueued_at` [#2414]
10
27
  - Batches now account for jobs which are stopped by client middleware [#2406]
28
+ - Ignore redundant calls to `Sidekiq::Client.reliable_push!` [#2408]
11
29
 
12
30
  2.0.4
13
31
  -----------
data/README.md CHANGED
@@ -44,7 +44,7 @@ Installation
44
44
  Getting Started
45
45
  -----------------
46
46
 
47
- See the [sidekiq home page](http://sidekiq.org) for the simple 3-step process.
47
+ See the [Getting Started wiki page](https://github.com/mperham/sidekiq/wiki/Getting-Started) and follow the simple setup process.
48
48
  You can watch [Railscast #366](http://railscasts.com/episodes/366-sidekiq) to see Sidekiq in action. If you do everything right, you should see this:
49
49
 
50
50
  ![Web UI](https://github.com/mperham/sidekiq/raw/master/examples/web-ui.png)
@@ -53,10 +53,10 @@ You can watch [Railscast #366](http://railscasts.com/episodes/366-sidekiq) to se
53
53
  Want to Upgrade?
54
54
  -------------------
55
55
 
56
- I also sell Sidekiq Pro, an extension to Sidekiq which provides more
57
- features, a commercial-friendly license and allows you to support high
56
+ I also sell Sidekiq Pro and Sidekiq Enterprise, extensions to Sidekiq which provide more
57
+ features, a commercial-friendly license and allow you to support high
58
58
  quality open source development all at the same time. Please see the
59
- [Sidekiq Pro](http://sidekiq.org/pro) homepage for more detail.
59
+ [Sidekiq](http://sidekiq.org/) homepage for more detail.
60
60
 
61
61
 
62
62
  More Information
@@ -60,11 +60,11 @@ class Sidekiqctl
60
60
  end
61
61
 
62
62
  def quiet
63
- `kill -USR1 #{pid}`
63
+ Process.kill(:USR1, pid)
64
64
  end
65
65
 
66
66
  def stop
67
- `kill -TERM #{pid}`
67
+ Process.kill(:TERM, pid)
68
68
  kill_timeout.times do
69
69
  begin
70
70
  Process.getpgid(pid)
@@ -74,7 +74,7 @@ class Sidekiqctl
74
74
  end
75
75
  sleep 1
76
76
  end
77
- `kill -9 #{pid}`
77
+ Process.kill(:KILL, pid)
78
78
  FileUtils.rm_f pidfile
79
79
  done 'Sidekiq shut down forcefully.'
80
80
  end
@@ -312,7 +312,7 @@ module Sidekiq
312
312
  end
313
313
 
314
314
  def enqueued_at
315
- Time.at(@item['enqueued_at'] || 0).utc
315
+ @item['enqueued_at'] ? Time.at(@item['enqueued_at']).utc : nil
316
316
  end
317
317
 
318
318
  def created_at
@@ -369,11 +369,15 @@ module Sidekiq
369
369
  end
370
370
 
371
371
  def delete
372
- @parent.delete(score, jid)
372
+ if @value
373
+ @parent.delete_by_value(@parent.name, @value)
374
+ else
375
+ @parent.delete_by_jid(score, jid)
376
+ end
373
377
  end
374
378
 
375
379
  def reschedule(at)
376
- @parent.delete(score, jid)
380
+ delete
377
381
  @parent.schedule(at, item)
378
382
  end
379
383
 
@@ -519,36 +523,30 @@ module Sidekiq
519
523
  self.detect { |j| j.jid == jid }
520
524
  end
521
525
 
522
- def delete(score, jid = nil)
523
- if jid
524
- elements = Sidekiq.redis do |conn|
525
- conn.zrangebyscore(name, score, score)
526
- end
526
+ def delete_by_value(name, value)
527
+ Sidekiq.redis do |conn|
528
+ ret = conn.zrem(name, value)
529
+ @_size -= 1 if ret
530
+ ret
531
+ end
532
+ end
527
533
 
528
- elements_with_jid = elements.map do |element|
534
+ def delete_by_jid(score, jid)
535
+ Sidekiq.redis do |conn|
536
+ elements = conn.zrangebyscore(name, score, score)
537
+ elements.each do |element|
529
538
  message = Sidekiq.load_json(element)
530
-
531
539
  if message["jid"] == jid
532
- _, @_size = Sidekiq.redis do |conn|
533
- conn.multi do
534
- conn.zrem(name, element)
535
- conn.zcard name
536
- end
537
- end
538
- end
539
- end
540
- elements_with_jid.count != 0
541
- else
542
- count, @_size = Sidekiq.redis do |conn|
543
- conn.multi do
544
- conn.zremrangebyscore(name, score, score)
545
- conn.zcard name
540
+ ret = conn.zrem(name, element)
541
+ @_size -= 1 if ret
542
+ break ret
546
543
  end
544
+ false
547
545
  end
548
- count != 0
549
546
  end
550
547
  end
551
548
 
549
+ alias_method :delete, :delete_by_jid
552
550
  end
553
551
 
554
552
  ##
@@ -64,10 +64,14 @@ module Sidekiq
64
64
 
65
65
  logger.info "Running in #{RUBY_DESCRIPTION}"
66
66
  logger.info Sidekiq::LICENSE
67
- logger.info "Upgrade to Sidekiq Pro for more features and support: http://sidekiq.org/pro" unless defined?(::Sidekiq::Pro)
67
+ logger.info "Upgrade to Sidekiq Pro for more features and support: http://sidekiq.org" unless defined?(::Sidekiq::Pro)
68
68
 
69
69
  fire_event(:startup)
70
70
 
71
+ logger.debug {
72
+ "Middleware: #{Sidekiq.server_middleware.map(&:klass).join(', ')}"
73
+ }
74
+
71
75
  Sidekiq.redis do |conn|
72
76
  # touch the connection pool so it is created before we
73
77
  # launch the actors.
@@ -98,18 +102,20 @@ module Sidekiq
98
102
  end
99
103
 
100
104
  def self.banner
101
- %q{ s
102
- ss
103
- sss sss ss
104
- s sss s ssss sss ____ _ _ _ _
105
- s sssss ssss / ___|(_) __| | ___| | _(_) __ _
106
- s sss \___ \| |/ _` |/ _ \ |/ / |/ _` |
107
- s sssss s ___) | | (_| | __/ <| | (_| |
108
- ss s s |____/|_|\__,_|\___|_|\_\_|\__, |
109
- s s s |_|
110
- s s
111
- sss
112
- sss }
105
+ %q{
106
+ m,
107
+ `$b
108
+ .ss, $$b .,d$
109
+ `$$P,d$P' .,md$$P' ____ _ _ _ _
110
+ ,$$$$$$bmmd$$$^' / ___|(_) __| | ___| | _(_) __ _
111
+ ,d$$$$$$$$$$$P \___ \| |/ _` |/ _ \ |/ / |/ _` |
112
+ $s^' `"^$$$' ___) | | (_| | __/ <| | (_| |
113
+ $: ,$$P |____/|_|\__,_|\___|_|\_\_|\__, |
114
+ `b :$$ |_|
115
+ $$:
116
+ $$
117
+ .d$$
118
+ }
113
119
  end
114
120
 
115
121
  def handle_signal(sig)
@@ -160,7 +166,7 @@ module Sidekiq
160
166
  # Celluloid can't be loaded until after we've daemonized
161
167
  # because it spins up threads and creates locks which get
162
168
  # into a very bad state if forked.
163
- require 'celluloid/autostart'
169
+ require 'celluloid/current'
164
170
  Celluloid.logger = (options[:verbose] ? Sidekiq.logger : nil)
165
171
 
166
172
  require 'sidekiq/manager'
@@ -119,16 +119,17 @@ module Sidekiq
119
119
 
120
120
  class << self
121
121
 
122
+ # deprecated
122
123
  def default
123
124
  @default ||= new
124
125
  end
125
126
 
126
127
  def push(item)
127
- default.push(item)
128
+ new.push(item)
128
129
  end
129
130
 
130
131
  def push_bulk(items)
131
- default.push_bulk(items)
132
+ new.push_bulk(items)
132
133
  end
133
134
 
134
135
  # Resque compatibility helpers. Note all helpers
@@ -66,7 +66,7 @@ module Sidekiq
66
66
  @down ||= Time.now
67
67
  pause
68
68
  after(0) { fetch }
69
- rescue Task::TerminatedError
69
+ rescue Celluloid::TaskTerminated
70
70
  # If redis is down when we try to shut down, all the fetch backlog
71
71
  # raises these errors. Haven't been able to figure out what I'm doing wrong.
72
72
  end
@@ -27,6 +27,7 @@ module Sidekiq
27
27
  logger.debug { options.inspect }
28
28
  @options = options
29
29
  @count = options[:concurrency] || 25
30
+ raise ArgumentError, "Concurrency of #{@count} is not supported" if @count < 1
30
31
  @done_callback = nil
31
32
  @finished = condvar
32
33
 
@@ -4,11 +4,7 @@ module Sidekiq
4
4
  class Logging
5
5
 
6
6
  def call(worker, item, queue)
7
- # If we're using a wrapper class, like ActiveJob, use the "wrapped"
8
- # attribute to expose the underlying thing.
9
- klass = item['wrapped'] || worker.class.to_s
10
-
11
- Sidekiq::Logging.with_context("#{klass} JID-#{item['jid']}#{" BID-#{item['bid']}" if item['bid']}") do
7
+ Sidekiq::Logging.with_context(log_context(worker, item)) do
12
8
  begin
13
9
  start = Time.now
14
10
  logger.info { "start" }
@@ -21,6 +17,15 @@ module Sidekiq
21
17
  end
22
18
  end
23
19
 
20
+ private
21
+
22
+ # If we're using a wrapper class, like ActiveJob, use the "wrapped"
23
+ # attribute to expose the underlying thing.
24
+ def log_context(worker, item)
25
+ klass = item['wrapped'.freeze] || worker.class.to_s
26
+ "#{klass} JID-#{item['jid'.freeze]}#{" BID-#{item['bid'.freeze]}" if item['bid'.freeze]}"
27
+ end
28
+
24
29
  def elapsed(start)
25
30
  (Time.now - start).round(3)
26
31
  end
@@ -104,7 +104,7 @@ module Sidekiq
104
104
  # of workers), and 5 random seconds to ensure they don't all hit Redis at the same time.
105
105
  sleep(INITIAL_WAIT) unless Sidekiq.options[:poll_interval_average]
106
106
  sleep(5 * rand)
107
- rescue Celluloid::Task::TerminatedError
107
+ rescue Celluloid::TaskTerminated
108
108
  # Hit Ctrl-C when Sidekiq is finished booting and we have a chance
109
109
  # to get here.
110
110
  end
@@ -1,3 +1,3 @@
1
1
  module Sidekiq
2
- VERSION = "3.4.2"
2
+ VERSION = "3.5.0"
3
3
  end
@@ -11,6 +11,7 @@ module Sidekiq
11
11
  class Web < Sinatra::Base
12
12
  include Sidekiq::Paginator
13
13
 
14
+ enable :sessions
14
15
  use Rack::Protection, :use => :authenticity_token unless ENV['RACK_ENV'] == 'test'
15
16
 
16
17
  set :root, File.expand_path(File.dirname(__FILE__) + "/../../web")
@@ -261,3 +262,16 @@ module Sidekiq
261
262
  end
262
263
  end
263
264
  end
265
+
266
+ if defined?(::ActionDispatch::Request::Session) &&
267
+ !::ActionDispatch::Request::Session.respond_to?(:each)
268
+ # mperham/sidekiq#2460
269
+ # Rack apps can't reuse the Rails session store without
270
+ # this monkeypatch
271
+ class ActionDispatch::Request::Session
272
+ def each(&block)
273
+ hash = self.to_hash
274
+ hash.each(&block)
275
+ end
276
+ end
277
+ end
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.add_dependency 'redis', '~> 3.2', '>= 3.2.1'
19
19
  gem.add_dependency 'redis-namespace', '~> 1.5', '>= 1.5.2'
20
20
  gem.add_dependency 'connection_pool', '~> 2.2', '>= 2.2.0'
21
- gem.add_dependency 'celluloid', '~> 0.16.0'
21
+ gem.add_dependency 'celluloid', '~> 0.17.0'
22
22
  gem.add_dependency 'json', '~> 1.0'
23
23
  gem.add_development_dependency 'sinatra', '~> 1.4', '>= 1.4.6'
24
24
  gem.add_development_dependency 'minitest', '~> 5.7', '>= 5.7.0'
@@ -17,6 +17,7 @@ end
17
17
  require 'minitest/autorun'
18
18
  require 'minitest/pride'
19
19
 
20
+ require 'celluloid/current'
20
21
  require 'celluloid/test'
21
22
  Celluloid.boot
22
23
  require 'sidekiq'
@@ -207,6 +207,12 @@ class TestApi < Sidekiq::Test
207
207
  assert_equal 0, q.size
208
208
  end
209
209
 
210
+ it 'has no enqueued_at time for jobs enqueued in the future' do
211
+ job_id = ApiWorker.perform_in(100, 1, 'foo')
212
+ job = Sidekiq::ScheduledSet.new.find_job(job_id)
213
+ assert_nil job.enqueued_at
214
+ end
215
+
210
216
  it 'unwraps delayed jobs' do
211
217
  ApiWorker.delay.foo(1,2,3)
212
218
  q = Sidekiq::Queue.new
@@ -340,14 +346,12 @@ class TestApi < Sidekiq::Test
340
346
  assert_in_delta Time.now.to_f, retri.at.to_f, 0.02
341
347
  end
342
348
 
343
- it 'can delete multiple retries from score' do
344
- same_time = Time.now.to_f
345
- add_retry('bob1', same_time)
346
- add_retry('bob2', same_time)
347
- r = Sidekiq::RetrySet.new
348
- assert_equal 2, r.size
349
- Sidekiq::RetrySet.new.delete(same_time)
350
- assert_equal 0, r.size
349
+ it 'requires a jid to delete an entry' do
350
+ start_time = Time.now.to_f
351
+ add_retry('bob2', Time.now.to_f)
352
+ assert_raises(ArgumentError) do
353
+ Sidekiq::RetrySet.new.delete(start_time)
354
+ end
351
355
  end
352
356
 
353
357
  it 'can delete a single retry from score and jid' do
@@ -128,7 +128,7 @@ class TestCli < Sidekiq::Test
128
128
 
129
129
  it 'appends messages to a logfile' do
130
130
  File.open(@tmp_log_path, 'w') do |f|
131
- f.puts 'already existant log message'
131
+ f.puts 'already existent log message'
132
132
  end
133
133
 
134
134
  @cli.parse(['sidekiq', '-L', @tmp_log_path, '-r', './test/fake_env.rb'])
@@ -136,7 +136,7 @@ class TestCli < Sidekiq::Test
136
136
  Sidekiq.logger.info('test message')
137
137
 
138
138
  log_file_content = File.read(@tmp_log_path)
139
- assert_match(/already existant/, log_file_content, "didn't include the old message")
139
+ assert_match(/already existent/, log_file_content, "didn't include the old message")
140
140
  assert_match(/test message/, log_file_content, "didn't include the new message")
141
141
  end
142
142
  end
@@ -88,6 +88,11 @@ class TestManager < Sidekiq::Test
88
88
  fetcher.verify
89
89
  end
90
90
 
91
+ it 'does not support invalid concurrency' do
92
+ assert_raises(ArgumentError) { new_manager(concurrency: 0) }
93
+ assert_raises(ArgumentError) { new_manager(concurrency: -1) }
94
+ end
95
+
91
96
  describe 'heartbeat' do
92
97
  before do
93
98
  uow = Object.new
@@ -3,6 +3,7 @@ require_relative 'helper'
3
3
  require 'sidekiq'
4
4
  require 'sidekiq/web'
5
5
  require 'rack/test'
6
+ require 'tilt/erubis'
6
7
 
7
8
  class TestWeb < Sidekiq::Test
8
9
 
@@ -227,14 +227,8 @@ var updateRedisStats = function(data) {
227
227
  }
228
228
 
229
229
  var pulseBeacon = function(){
230
- $beacon = $('.beacon')
231
- $beacon.find('.dot').addClass('pulse').delay(1000).queue(function(){
232
- $(this).removeClass('pulse');
233
- $(this).dequeue();
234
- });
235
- $beacon.find('.ring').addClass('pulse').delay(1000).queue(function(){
236
- $(this).removeClass('pulse');
237
- $(this).dequeue();
230
+ $('.beacon').addClass('pulse').delay(1000).queue(function(){
231
+ $(this).removeClass('pulse').dequeue();
238
232
  });
239
233
  }
240
234
 
@@ -1,16 +1,16 @@
1
- // Brazilian Portuguese
1
+ // Brasilian Portuguese
2
2
  jQuery.timeago.settings.strings = {
3
3
  suffixAgo: "atrás",
4
- suffixFromNow: "nesse momento",
5
- seconds: "alguns segundos",
6
- minute: " um minuto",
7
- minutes: "%d minutos",
8
- hour: " uma hora",
9
- hours: " %d horas",
10
- day: "um dia",
11
- days: "%d dias",
12
- month: " um mês",
13
- months: "%d meses",
14
- year: " um ano",
15
- years: "%d anos"
16
- };
4
+ suffixFromNow: "a partir de agora",
5
+ seconds: "menos de um minuto",
6
+ minute: "cerca de um minuto",
7
+ minutes: "%d minutos",
8
+ hour: "cerca de uma hora",
9
+ hours: "cerca de %d horas",
10
+ day: "um dia",
11
+ days: "%d dias",
12
+ month: "cerca de um mês",
13
+ months: "%d meses",
14
+ year: "cerca de um ano",
15
+ years: "%d anos"
16
+ };
@@ -471,16 +471,22 @@ div.interval-slider input {
471
471
 
472
472
  .beacon {
473
473
  position: relative;
474
+ width: 20px;
474
475
  height: 20px;
475
476
  display: inline-block;
476
477
  }
477
478
 
478
- .beacon .dot {
479
+ .beacon .dot,
480
+ .beacon .ring {
479
481
  position: absolute;
480
- top: 5px;
481
- left: 10px;
482
+ top: 50%;
483
+ left: 50%;
484
+ }
485
+
486
+ .beacon .dot {
482
487
  width: 10px;
483
488
  height: 10px;
489
+ margin: -5px 0 0 -5px;
484
490
  background-color: #80002d;
485
491
  border-radius: 10px;
486
492
  box-shadow: 0 0 9px #666;
@@ -490,140 +496,103 @@ div.interval-slider input {
490
496
  z-index: 10;
491
497
  }
492
498
 
493
- .beacon .dot.pulse {
499
+ .beacon.pulse .dot {
494
500
  -webkit-animation: beacon-dot-pulse 1s ease-out;
495
501
  -moz-animation: beacon-dot-pulse 1s ease-out;
496
502
  animation: beacon-dot-pulse 1s ease-out;
497
- -webkit-animation-iteration-count: 1;
498
- -moz-animation-iteration-count: 1;
499
- animation-iteration-count: 1;
500
503
  }
501
504
 
502
505
  @-webkit-keyframes beacon-dot-pulse {
503
506
  from {
504
507
  background-color: #80002d;
505
508
  -webkit-box-shadow: 0 0 9px #666;
506
- -moz-box-shadow: 0 0 9px #666;
507
- box-shadow: 0 0 9px #666;
508
509
  }
509
510
  50% {
510
511
  background-color: #c90047;
511
512
  -webkit-box-shadow: 0 0 18px #666;
512
- -moz-box-shadow: 0 0 18px #666;
513
- box-shadow: 0 0 18px #666;
514
513
  }
515
514
  to {
516
515
  background-color: #80002d;
517
516
  -webkit-box-shadow: 0 0 9px #666;
518
- -moz-box-shadow: 0 0 9px #666;
519
- box-shadow: 0 0 9px #666;
520
517
  }
521
518
  }
522
519
 
523
520
  @-moz-keyframes beacon-dot-pulse {
524
521
  from {
525
522
  background-color: #80002d;
526
- -webkit-box-shadow: 0 0 9px #666;
527
523
  -moz-box-shadow: 0 0 9px #666;
528
- box-shadow: 0 0 9px #666;
529
524
  }
530
525
  50% {
531
526
  background-color: #c90047;
532
- -webkit-box-shadow: 0 0 18px #666;
533
527
  -moz-box-shadow: 0 0 18px #666;
534
- box-shadow: 0 0 18px #666;
535
528
  }
536
529
  to {
537
530
  background-color: #80002d;
538
- -webkit-box-shadow: 0 0 9px #666;
539
531
  -moz-box-shadow: 0 0 9px #666;
540
- box-shadow: 0 0 9px #666;
541
532
  }
542
533
  }
543
534
 
544
535
  @keyframes beacon-dot-pulse {
545
536
  from {
546
537
  background-color: #80002d;
547
- -webkit-box-shadow: 0 0 9px #666;
548
- -moz-box-shadow: 0 0 9px #666;
549
538
  box-shadow: 0 0 9px #666;
550
539
  }
551
540
  50% {
552
541
  background-color: #c90047;
553
- -webkit-box-shadow: 0 0 18px #666;
554
- -moz-box-shadow: 0 0 18px #666;
555
542
  box-shadow: 0 0 18px #666;
556
543
  }
557
544
  to {
558
545
  background-color: #80002d;
559
- -webkit-box-shadow: 0 0 9px #666;
560
- -moz-box-shadow: 0 0 9px #666;
561
546
  box-shadow: 0 0 9px #666;
562
547
  }
563
548
  }
564
549
 
565
550
  .beacon .ring {
566
- position: absolute;
567
- top: 7px;
568
- left: 12px;
569
- width: 0;
570
- height: 0;
571
- border-radius: 3px;
551
+ width: 28px;
552
+ height: 28px;
553
+ margin: -14px 0 0 -14px;
554
+ border-radius: 28px;
572
555
  border: 3px solid #80002d;
573
556
  z-index: 5;
557
+ opacity: 0;
574
558
  }
575
559
 
576
- .beacon .ring.pulse {
560
+ .beacon.pulse .ring {
577
561
  -webkit-animation: beacon-ring-pulse 1s;
578
562
  -moz-animation: beacon-ring-pulse 1s;
579
563
  animation: beacon-ring-pulse 1s;
580
- -webkit-animation-iteration-count: 1;
581
- -moz-animation-iteration-count: 1;
582
- animation-iteration-count: 1;
583
564
  }
584
565
 
585
566
  @-webkit-keyframes beacon-ring-pulse {
586
567
  0% {
587
568
  opacity: 1;
588
- -webkit-transform: scale(0);
569
+ -webkit-transform: scale(0.3);
589
570
  }
590
571
  100% {
591
572
  opacity: 0;
592
- border-radius: 15px;
593
- padding: 8px;
594
- top: 0;
595
- left: 4px;
596
- -webkit-transform: scale(1.5);
573
+ -webkit-transform: scale(1);
597
574
  }
598
575
  }
599
576
 
600
577
  @-moz-keyframes beacon-ring-pulse {
601
578
  0% {
602
579
  opacity: 1;
603
- -moz-transform: scale(0);
580
+ -moz-transform: scale(0.3);
604
581
  }
605
582
  100% {
606
583
  opacity: 0;
607
- border-radius: 15px;
608
- padding: 8px;
609
- top: 2px;
610
- left: 7px;
611
- -moz-transform: scale(1.6);
584
+ -moz-transform: scale(1);
612
585
  }
613
586
  }
614
587
 
615
588
  @keyframes beacon-ring-pulse {
616
589
  0% {
617
590
  opacity: 1;
618
- transform: scale(0);
591
+ transform: scale(0.3);
619
592
  }
620
593
  100% {
621
594
  opacity: 0;
622
- border-radius: 15px;
623
- padding: 8px;
624
- top: 0;
625
- left: 5px;
626
- transform: scale(1.5);
595
+ transform: scale(1);
627
596
  }
628
597
  }
629
598
 
@@ -47,7 +47,7 @@ de:
47
47
  GoBack: ← Zurück
48
48
  NoScheduledFound: Keine geplanten Jobs gefunden
49
49
  When: Wann
50
- ScheduledJobs: Jobs in Wartschlange
50
+ ScheduledJobs: Jobs in der Warteschlange
51
51
  idle: inaktiv
52
52
  active: aktiv
53
53
  Version: Version
@@ -74,3 +74,4 @@ en: # <---- change this to your locale code
74
74
  QuietAll: Quiet All
75
75
  PollingInterval: Polling interval
76
76
  Plugins: Plugins
77
+ NotYetEnqueued: Not yet enqueued
@@ -34,7 +34,7 @@
34
34
  </tr>
35
35
  <tr>
36
36
  <th><%= t('Enqueued') %></th>
37
- <td><%= relative_time(job.enqueued_at) %></td>
37
+ <td><%= (enqueued_at = job.enqueued_at) ? relative_time(enqueued_at) : t('NotYetEnqueued') %></td>
38
38
  </tr>
39
39
  <% unless retry_extra_items(job).empty? %>
40
40
  <tr>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.2
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Perham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-15 00:00:00.000000000 Z
11
+ date: 2015-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -76,14 +76,14 @@ dependencies:
76
76
  requirements:
77
77
  - - "~>"
78
78
  - !ruby/object:Gem::Version
79
- version: 0.16.0
79
+ version: 0.17.0
80
80
  type: :runtime
81
81
  prerelease: false
82
82
  version_requirements: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - "~>"
85
85
  - !ruby/object:Gem::Version
86
- version: 0.16.0
86
+ version: 0.17.0
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: json
89
89
  requirement: !ruby/object:Gem::Requirement
@@ -187,6 +187,7 @@ files:
187
187
  - COMM-LICENSE
188
188
  - Changes.md
189
189
  - Contributing.md
190
+ - Ent-Changes.md
190
191
  - Gemfile
191
192
  - LICENSE
192
193
  - Pro-2.0-Upgrade.md