hutch 0.23.0 → 0.23.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -1
- data/README.md +244 -0
- data/lib/hutch/error_handlers/airbrake.rb +3 -3
- data/lib/hutch/error_handlers/honeybadger.rb +3 -3
- data/lib/hutch/error_handlers/logger.rb +3 -3
- data/lib/hutch/error_handlers/sentry.rb +3 -3
- data/lib/hutch/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4e335b78e14abc9ebf9a6d027b52b10100dfa5c
|
4
|
+
data.tar.gz: 39013b71c53646886336d89718c67e056d3f3e04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d3d9acd8724e4882d272d63adee132f308fd8d134cdb58c2b0228342f2e67fd22904dcac8d7bed61a50b2a7254ac9e935ba38e65b7978317d32139c522f37fd
|
7
|
+
data.tar.gz: e1c695a9e83d0de05678d11cfbba783388968b8cfa68d287856f6f2f481e149833c043a6a46185e1c7e0552f350f8a0d1db873cb5ebe22670d37e36b668f9777
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,9 @@
|
|
1
|
-
## 0.
|
1
|
+
## 0.24.0 — (unreleased)
|
2
|
+
|
3
|
+
No changes yet.
|
4
|
+
|
5
|
+
|
6
|
+
## 0.23.0 — October 20th, 2016
|
2
7
|
|
3
8
|
This release contains a **breaking change** in the error
|
4
9
|
handlers interface.
|
@@ -20,6 +25,7 @@ GH issue: [hutch#238](https://github.com/gocardless/hutch/pull/238)
|
|
20
25
|
|
21
26
|
Contributed by Olle Jonsson.
|
22
27
|
|
28
|
+
|
23
29
|
## 0.22.1 — June 7th, 2016
|
24
30
|
|
25
31
|
### Message Payload is Reported to Sentry
|
data/README.md
CHANGED
@@ -332,6 +332,250 @@ In order from lowest to highest precedence:
|
|
332
332
|
0. Configuration file
|
333
333
|
0. Explicit settings through `Hutch::Config.set`
|
334
334
|
|
335
|
+
### Generated list of configuration options
|
336
|
+
|
337
|
+
<table border="1" class="settings">
|
338
|
+
<thead>
|
339
|
+
<tr>
|
340
|
+
<th>
|
341
|
+
Setting name
|
342
|
+
</th>
|
343
|
+
<th>
|
344
|
+
Default value
|
345
|
+
</th>
|
346
|
+
<th>
|
347
|
+
Type
|
348
|
+
</th>
|
349
|
+
<th>
|
350
|
+
ENV variable
|
351
|
+
</th>
|
352
|
+
<th>
|
353
|
+
Description
|
354
|
+
</th>
|
355
|
+
</tr>
|
356
|
+
</thead>
|
357
|
+
<tbody>
|
358
|
+
|
359
|
+
<tr>
|
360
|
+
<td><tt>mq_host</tt></td>
|
361
|
+
<td>127.0.0.1</td>
|
362
|
+
<td>String</td>
|
363
|
+
<td><tt>HUTCH_MQ_HOST</tt></td>
|
364
|
+
<td><p>RabbitMQ hostname</p>
|
365
|
+
</td>
|
366
|
+
</tr>
|
367
|
+
|
368
|
+
<tr>
|
369
|
+
<td><tt>mq_exchange</tt></td>
|
370
|
+
<td>hutch</td>
|
371
|
+
<td>String</td>
|
372
|
+
<td><tt>HUTCH_MQ_EXCHANGE</tt></td>
|
373
|
+
<td><p>RabbitMQ Exchange to use for publishing</p>
|
374
|
+
</td>
|
375
|
+
</tr>
|
376
|
+
|
377
|
+
<tr>
|
378
|
+
<td><tt>mq_vhost</tt></td>
|
379
|
+
<td>/</td>
|
380
|
+
<td>String</td>
|
381
|
+
<td><tt>HUTCH_MQ_VHOST</tt></td>
|
382
|
+
<td><p>RabbitMQ vhost to use</p>
|
383
|
+
</td>
|
384
|
+
</tr>
|
385
|
+
|
386
|
+
<tr>
|
387
|
+
<td><tt>mq_username</tt></td>
|
388
|
+
<td>guest</td>
|
389
|
+
<td>String</td>
|
390
|
+
<td><tt>HUTCH_MQ_USERNAME</tt></td>
|
391
|
+
<td><p>RabbitMQ username to use.</p>
|
392
|
+
</td>
|
393
|
+
</tr>
|
394
|
+
|
395
|
+
<tr>
|
396
|
+
<td><tt>mq_password</tt></td>
|
397
|
+
<td>guest</td>
|
398
|
+
<td>String</td>
|
399
|
+
<td><tt>HUTCH_MQ_PASSWORD</tt></td>
|
400
|
+
<td><p>RabbitMQ password</p>
|
401
|
+
</td>
|
402
|
+
</tr>
|
403
|
+
|
404
|
+
<tr>
|
405
|
+
<td><tt>mq_api_host</tt></td>
|
406
|
+
<td>127.0.0.1</td>
|
407
|
+
<td>String</td>
|
408
|
+
<td><tt>HUTCH_MQ_API_HOST</tt></td>
|
409
|
+
<td><p>RabbitMQ HTTP API hostname</p>
|
410
|
+
</td>
|
411
|
+
</tr>
|
412
|
+
|
413
|
+
<tr>
|
414
|
+
<td><tt>mq_port</tt></td>
|
415
|
+
<td>5672</td>
|
416
|
+
<td>Number</td>
|
417
|
+
<td><tt>HUTCH_MQ_PORT</tt></td>
|
418
|
+
<td><p>RabbitMQ port</p>
|
419
|
+
</td>
|
420
|
+
</tr>
|
421
|
+
|
422
|
+
<tr>
|
423
|
+
<td><tt>mq_api_port</tt></td>
|
424
|
+
<td>15672</td>
|
425
|
+
<td>Number</td>
|
426
|
+
<td><tt>HUTCH_MQ_API_PORT</tt></td>
|
427
|
+
<td><p>RabbitMQ HTTP API port</p>
|
428
|
+
</td>
|
429
|
+
</tr>
|
430
|
+
|
431
|
+
<tr>
|
432
|
+
<td><tt>heartbeat</tt></td>
|
433
|
+
<td>30</td>
|
434
|
+
<td>Number</td>
|
435
|
+
<td><tt>HUTCH_HEARTBEAT</tt></td>
|
436
|
+
<td><p><a href="http://rabbitmq.com/heartbeats.html">RabbitMQ heartbeat timeout</a></p>
|
437
|
+
</td>
|
438
|
+
</tr>
|
439
|
+
|
440
|
+
<tr>
|
441
|
+
<td><tt>channel_prefetch</tt></td>
|
442
|
+
<td>0</td>
|
443
|
+
<td>Number</td>
|
444
|
+
<td><tt>HUTCH_CHANNEL_PREFETCH</tt></td>
|
445
|
+
<td><p>The <tt>basic.qos</tt> prefetch value to use.</p>
|
446
|
+
</td>
|
447
|
+
</tr>
|
448
|
+
|
449
|
+
<tr>
|
450
|
+
<td><tt>connection_timeout</tt></td>
|
451
|
+
<td>11</td>
|
452
|
+
<td>Number</td>
|
453
|
+
<td><tt>HUTCH_CONNECTION_TIMEOUT</tt></td>
|
454
|
+
<td><p>Bunny's socket open timeout</p>
|
455
|
+
</td>
|
456
|
+
</tr>
|
457
|
+
|
458
|
+
<tr>
|
459
|
+
<td><tt>read_timeout</tt></td>
|
460
|
+
<td>11</td>
|
461
|
+
<td>Number</td>
|
462
|
+
<td><tt>HUTCH_READ_TIMEOUT</tt></td>
|
463
|
+
<td><p>Bunny's socket read timeout</p>
|
464
|
+
</td>
|
465
|
+
</tr>
|
466
|
+
|
467
|
+
<tr>
|
468
|
+
<td><tt>write_timeout</tt></td>
|
469
|
+
<td>11</td>
|
470
|
+
<td>Number</td>
|
471
|
+
<td><tt>HUTCH_WRITE_TIMEOUT</tt></td>
|
472
|
+
<td><p>Bunny's socket write timeout</p>
|
473
|
+
</td>
|
474
|
+
</tr>
|
475
|
+
|
476
|
+
<tr>
|
477
|
+
<td><tt>graceful_exit_timeout</tt></td>
|
478
|
+
<td>11</td>
|
479
|
+
<td>Number</td>
|
480
|
+
<td><tt>HUTCH_GRACEFUL_EXIT_TIMEOUT</tt></td>
|
481
|
+
<td><p>FIXME: DOCUMENT THIS</p>
|
482
|
+
</td>
|
483
|
+
</tr>
|
484
|
+
|
485
|
+
<tr>
|
486
|
+
<td><tt>consumer_pool_size</tt></td>
|
487
|
+
<td>1</td>
|
488
|
+
<td>Number</td>
|
489
|
+
<td><tt>HUTCH_CONSUMER_POOL_SIZE</tt></td>
|
490
|
+
<td><p>Bunny consumer work pool size</p>
|
491
|
+
</td>
|
492
|
+
</tr>
|
493
|
+
|
494
|
+
<tr>
|
495
|
+
<td><tt>mq_tls</tt></td>
|
496
|
+
<td>false</td>
|
497
|
+
<td>Boolean</td>
|
498
|
+
<td><tt>HUTCH_MQ_TLS</tt></td>
|
499
|
+
<td><p>Should TLS be used?</p>
|
500
|
+
</td>
|
501
|
+
</tr>
|
502
|
+
|
503
|
+
<tr>
|
504
|
+
<td><tt>mq_verify_peer</tt></td>
|
505
|
+
<td>true</td>
|
506
|
+
<td>Boolean</td>
|
507
|
+
<td><tt>HUTCH_MQ_VERIFY_PEER</tt></td>
|
508
|
+
<td><p>Should SSL certificate be verified?</p>
|
509
|
+
</td>
|
510
|
+
</tr>
|
511
|
+
|
512
|
+
<tr>
|
513
|
+
<td><tt>mq_api_ssl</tt></td>
|
514
|
+
<td>false</td>
|
515
|
+
<td>Boolean</td>
|
516
|
+
<td><tt>HUTCH_MQ_API_SSL</tt></td>
|
517
|
+
<td><p>Should SSL be used for the RabbitMQ API?</p>
|
518
|
+
</td>
|
519
|
+
</tr>
|
520
|
+
|
521
|
+
<tr>
|
522
|
+
<td><tt>autoload_rails</tt></td>
|
523
|
+
<td>true</td>
|
524
|
+
<td>Boolean</td>
|
525
|
+
<td><tt>HUTCH_AUTOLOAD_RAILS</tt></td>
|
526
|
+
<td><p>Should the current Rails app directory be required?</p>
|
527
|
+
</td>
|
528
|
+
</tr>
|
529
|
+
|
530
|
+
<tr>
|
531
|
+
<td><tt>daemonise</tt></td>
|
532
|
+
<td>false</td>
|
533
|
+
<td>Boolean</td>
|
534
|
+
<td><tt>HUTCH_DAEMONISE</tt></td>
|
535
|
+
<td><p>Should the Hutch runner process daemonise?</p>
|
536
|
+
</td>
|
537
|
+
</tr>
|
538
|
+
|
539
|
+
<tr>
|
540
|
+
<td><tt>publisher_confirms</tt></td>
|
541
|
+
<td>false</td>
|
542
|
+
<td>Boolean</td>
|
543
|
+
<td><tt>HUTCH_PUBLISHER_CONFIRMS</tt></td>
|
544
|
+
<td><p>Should RabbitMQ publisher confirms be enabled?</p>
|
545
|
+
</td>
|
546
|
+
</tr>
|
547
|
+
|
548
|
+
<tr>
|
549
|
+
<td><tt>force_publisher_confirms</tt></td>
|
550
|
+
<td>false</td>
|
551
|
+
<td>Boolean</td>
|
552
|
+
<td><tt>HUTCH_FORCE_PUBLISHER_CONFIRMS</tt></td>
|
553
|
+
<td><p>Enables publisher confirms, forces Hutch::Broker#wait_for_confirms for</p>
|
554
|
+
</td>
|
555
|
+
</tr>
|
556
|
+
|
557
|
+
<tr>
|
558
|
+
<td><tt>enable_http_api_use</tt></td>
|
559
|
+
<td>true</td>
|
560
|
+
<td>Boolean</td>
|
561
|
+
<td><tt>HUTCH_ENABLE_HTTP_API_USE</tt></td>
|
562
|
+
<td><p>Should the RabbitMQ HTTP API be used?</p>
|
563
|
+
</td>
|
564
|
+
</tr>
|
565
|
+
|
566
|
+
<tr>
|
567
|
+
<td><tt>consumer_pool_abort_on_exception</tt></td>
|
568
|
+
<td>false</td>
|
569
|
+
<td>Boolean</td>
|
570
|
+
<td><tt>HUTCH_CONSUMER_POOL_ABORT_ON_EXCEPTION</tt></td>
|
571
|
+
<td><p>Should Bunny's consumer work pool threads abort on exception.</p>
|
572
|
+
</td>
|
573
|
+
</tr>
|
574
|
+
|
575
|
+
</tbody>
|
576
|
+
</table>
|
577
|
+
|
578
|
+
|
335
579
|
## Supported RabbitMQ Versions
|
336
580
|
|
337
581
|
Hutch requires RabbitMQ 3.3 or later.
|
@@ -8,9 +8,9 @@ module Hutch
|
|
8
8
|
|
9
9
|
def handle(properties, payload, consumer, ex)
|
10
10
|
message_id = properties.message_id
|
11
|
-
prefix = "message(#{message_id || '-'}):
|
12
|
-
logger.error prefix
|
13
|
-
logger.error prefix
|
11
|
+
prefix = "message(#{message_id || '-'}):"
|
12
|
+
logger.error "#{prefix} Logging event to Airbrake"
|
13
|
+
logger.error "#{prefix} #{ex.class} - #{ex.message}"
|
14
14
|
|
15
15
|
if ::Airbrake.respond_to?(:notify_or_ignore)
|
16
16
|
::Airbrake.notify_or_ignore(ex, {
|
@@ -8,9 +8,9 @@ module Hutch
|
|
8
8
|
|
9
9
|
def handle(properties, payload, consumer, ex)
|
10
10
|
message_id = properties.message_id
|
11
|
-
prefix = "message(#{message_id || '-'}):
|
12
|
-
logger.error prefix
|
13
|
-
logger.error prefix
|
11
|
+
prefix = "message(#{message_id || '-'}):"
|
12
|
+
logger.error "#{prefix} Logging event to Honeybadger"
|
13
|
+
logger.error "#{prefix} #{ex.class} - #{ex.message}"
|
14
14
|
::Honeybadger.notify_or_ignore(
|
15
15
|
:error_class => ex.class.name,
|
16
16
|
:error_message => "#{ ex.class.name }: #{ ex.message }",
|
@@ -7,9 +7,9 @@ module Hutch
|
|
7
7
|
|
8
8
|
def handle(properties, payload, consumer, ex)
|
9
9
|
message_id = properties.message_id
|
10
|
-
prefix = "message(#{message_id || '-'}):
|
11
|
-
logger.error prefix
|
12
|
-
logger.error prefix
|
10
|
+
prefix = "message(#{message_id || '-'}):"
|
11
|
+
logger.error "#{prefix} error in consumer '#{consumer}'"
|
12
|
+
logger.error "#{prefix} #{ex.class} - #{ex.message}"
|
13
13
|
logger.error (['backtrace:'] + ex.backtrace).join("\n")
|
14
14
|
end
|
15
15
|
end
|
@@ -14,9 +14,9 @@ module Hutch
|
|
14
14
|
|
15
15
|
def handle(properties, payload, consumer, ex)
|
16
16
|
message_id = properties.message_id
|
17
|
-
prefix = "message(#{message_id || '-'}):
|
18
|
-
logger.error prefix
|
19
|
-
logger.error prefix
|
17
|
+
prefix = "message(#{message_id || '-'}):"
|
18
|
+
logger.error "#{prefix} Logging event to Sentry"
|
19
|
+
logger.error "#{prefix} #{ex.class} - #{ex.message}"
|
20
20
|
Raven.capture_exception(ex, extra: { payload: payload })
|
21
21
|
end
|
22
22
|
end
|
data/lib/hutch/version.rb
CHANGED