| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Follows the same pattern as controllers and jobs. Exceptions raised in
delivery jobs (enqueued by `#deliver_later`) are also delegated to the
mailer's rescue_from handlers, so you can handle the DeserializationError
raised by delivery jobs:
```ruby
class MyMailer < ApplicationMailer
rescue_from ActiveJob::DeserializationError do
…
end
```
ActiveSupport::Rescuable polish:
* Add the `rescue_with_handler` class method so exceptions may be
handled at the class level without requiring an instance.
* Rationalize `exception.cause` handling. If no handler matches the
exception, fall back to the handler that matches its cause.
* Handle exceptions raised elsewhere. Pass `object: …` to execute
the `rescue_from` handler (e.g. a method call or a block to
instance_exec) against a different object. Defaults to `self`.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
definition.
- [ci skip] Active Job Async doesn't support to Async feature as per it's definition.
- [ci skip] Active Job Async doesn't support to Async feature as per it's definition.
- [ci skip] Active Job Async doesn't support to Async feature as per it's definition.
- [ci skip] Active Job Async doesn't support to Async feature as per it's definition.
|
|
|
|
| |
method [ci skip]
|
| |
|
|
|
| |
Placing non-native JSON data types, like symbols, in the hash to serialize means that the deserialize method will return something different from what was serialized, a common bug and source of frustration for devs.
|
| |
|
|
|
|
|
| |
Use one shared worker pool for all queues with 0-#CPU workers rather
than separate pools per queue with 2-10*#CPU workers each.
|
|
|
|
| |
Instance methods can be defined in the module itself
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
[ci skip]
|
|
|
|
|
|
|
|
| |
This PR includes two changes for 2.0.0:
- Breaking API change around `async.perform` --> `perform_async`
- New addition of `perform_in`, which now allows end users of the
adapter to use the `enqueued_at` public API method.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 5-0-beta-sec:
bumping version
fix version update task to deal with .beta1.1
Eliminate instance level writers for class accessors
allow :file to be outside rails root, but anything else must be inside the rails view directory
Don't short-circuit reject_if proc
stop caching mime types globally
use secure string comparisons for basic auth username / password
|
| | |
|
|\ \
| |/
|/| |
Added support for bigdecimals in perform_later
|
| | |
|
|/
|
|
| |
:tada: :beers:
|
| |
|
| |
|
| |
|
|\
| |
| | |
monitor is require for SneakersAdapter
|
| |
| |
| | |
we are using `@monitor = Monitor.new` that inherit from Monitor class, we leave behind this commit https://github.com/rails/rails/commit/cbfc8b36
|
|/ |
|
|\
| |
| |
| | |
Fixed serializing `:at` option for `assert_eqnueued_with` and `assert_performed_with`
|
| |
| |
| |
| | |
`assert_performed_with`
|
|\ \
| |/
|/| |
ActiveJob - log enqueued message only after the job was successfully enqueued
|
| | |
|
| | |
|
| |
| |
| |
| | |
[CI skip]
|
|\ \
| | |
| | | |
Add job priorities to ActiveJob
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
The thread_safe gem is being deprecated and all its code has been merged
into the concurrent-ruby gem. The new class, Concurrent::Map, is exactly
the same as its predecessor except for fixes to two bugs discovered
during the merge.
|
| |
| |
| |
| | |
Refactor arguments logging method for Active Job
|
| | |
|
| |
| |
| |
| | |
[Robin Dupret]
|
| |
| |
| |
| |
| |
| | |
The latest, currently unreleased, version of queue_classic is required
for this to work. See
https://github.com/QueueClassic/queue_classic/pull/262 for more details.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
[ci skip]
Documentation: update queue_classic info in Active Job adapters list
|
|/ / |
|
|\ \
| | |
| | | |
Make ActiveJob locale aware
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When `#perform_later` is called the locale isn't stored on the
queue, which results in a locale reset when the job is performed.
An example of the problem:
I18n.locale = 'de'
HelloJob.perform_now # german message, correct
but
I18n.locale = 'de'
HelloJob.perform_later # english message, incorrect
This PR attaches the current I18n.locale to every job during the
serialization process. It is then restored during deserialization
and used to perform the job with the correct locale.
It falls back to the default locale if no serialized locale is
found in order to provide backward compatibility with previously
stored jobs. It is not necessary to clear the queue for the update.
|
|/ / |
|