Commit Graph

268 Commits

Author SHA1 Message Date
Aaron Patterson 6dfab475ca Merge branch '5-0-beta-sec'
* 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
2016-01-25 11:25:11 -08:00
Aaron Patterson 908c011395 bumping version 2016-01-25 10:22:15 -08:00
Santiago Pastorino 4d98b0d837 Merge pull request #22487 from joshsoftware/issue_22413
Added support for bigdecimals in perform_later
2016-01-01 18:58:42 -03:00
Rashmi Yadav 1b608a695c Update copyright notices to 2016 [ci skip] 2015-12-31 18:27:19 +02:00
Yves Senn 95714bb2b2 release notes, extract notable changes from Active Job CHANGELOG.
[ci skip]
2015-12-23 10:05:11 +01:00
Genadi Samokovarov c5b6ec7b0f No more no changes entries in the CHANGELOGs
During the `5.0.0.beta1` release, the CHANGELOGs got an entry like the
following:

```
* No changes.
```

It is kinda confusing as there are indeed changes after it. Not a
biggie, just a small pass over the CHANGELOGs.

[ci skip]
2015-12-21 11:46:38 +02:00
eileencodes 099ddfdefd Add CHANGELOG headers for Rails 5.0.0.beta1 2015-12-18 15:58:25 -05:00
eileencodes 7eae0bb88e Change `alpha` to `beta1` to prep for release of Rails 5
🎉 🍻
2015-12-18 12:14:09 -05:00
Jeremy Daer 7a6772c0e7 Use released GlobalID now that it provides URI::GID::MissingModelIdError for Active Job 2015-12-17 17:20:19 -07:00
Elektron1c97 6bd417df50 [ci skip] Add a dollar sign to each command in the READMEs
According to pr #22443 in the guides there's always a dollar sign before every command, so why is in the main README a `$` and in every submodule a `%`?

Just eye candy..
2015-12-06 19:18:52 +01:00
Siva Gollapalli 135258af0b Added support for bigdecimals in perform later 2015-12-03 18:45:55 +05:30
Will Jessop 171e788ccd Fix race condition testing for job execution order
On most filesystems file ctime is limited to 1 second granularity, which means that on
faster computers multiple simple jobs (for instance dummy TestJob) can finish within the
same second.

The execution order test in ActiveJob integration tests relies on multiple TestJobs
writing files then comparing the ctime. As a result integration tests would sometimes
fail as the ctime of the files written by these TestJobs could have coincidental ctimes
making the comparison for job order fail.

This commit adds a far more precise execution time (to the extent that the Ruby Time
class allows) to the file created by TestJob, and updates the execution order assertion
to use it, removing the race condition.
2015-11-23 14:24:49 +00:00
Mike Boone ece366be07 Fixed wording. 2015-11-08 20:38:13 -05:00
Jerry D'Antonio 23b6f65fd1 Require only necessary concurrent-ruby classes. 2015-11-04 21:12:28 -05:00
Yuki Nishijima 266455cf25 Deprecate exception#original_exception in favor of exception#cause 2015-11-03 06:54:34 -08:00
Matthew Draper 30bacc26f8 Merge pull request #21878 from Gaurav2728/require_monitor
monitor is require for SneakersAdapter
2015-10-10 02:42:11 +10:30
Wojciech Wnętrzak c2854af747 Added missing specs for not modifying queues when using AJ test helpers 2015-10-07 20:02:15 +02:00
Gaurav Sharma b0a3a68889 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
2015-10-06 10:34:56 +05:30
Yves Senn c468d7fedd Merge pull request #21854 from morgoth/fix-serializing-at-option-in-aj-matchers
Fixed serializing `:at` option for `assert_eqnueued_with` and `assert_performed_with`
2015-10-05 09:04:13 +02:00
Arthur Nogueira Neves d2ef471b84 Merge pull request #20116 from cristianbica/activejob-enqueue-logging
ActiveJob - log enqueued message only after the job was successfully enqueued
2015-10-04 20:38:44 -04:00
Wojciech Wnętrzak 6e0254e8d3 Fixed serializing `:at` option for `assert_enqueued_with` and `assert_performed_with` 2015-10-03 15:23:05 +02:00
Wojciech Wnętrzak 8a67c56efb Support passing array to `assert_enqueued_jobs` in `:only` option 2015-10-03 13:25:16 +02:00
Wojciech Wnętrzak 3d63e1c155 Do not document private methods in AJ::TestHelper
[CI skip]
2015-10-02 18:19:00 +02:00
Rafael Mendonça França 0f89e15e80 Merge pull request #19425 from wvengen/feature/activejob-priority-master
Add job priorities to ActiveJob
2015-09-25 23:50:33 -03:00
Andrew White a22523abcd Use Sidekiq.options to set initial wait
The INITIAL_WAIT constant has moved to the Sidekiq::Poller class but
rather than setting the constant directly we can override it via the
`:poll_interval_average` option.

This was causing random build failures because the test was waiting
for 10 seconds for the job to execute but the initial wait was a
random value between 10 and 15 seconds.
2015-09-21 14:02:41 +01:00
Andrew White 2e501ac9c4 Run `rake db:migrate` for all Active Job integration tests
If db/schema.rb doesn't exist then we get warnings from the dummy Rails
application so run it for all adapters even if they're not using the
database to store jobs.
2015-09-21 14:02:41 +01:00
Andrew White 78d9e1699f Silence logging in Active Job unit tests 2015-09-21 14:02:41 +01:00
Akira Matsuda 64766e82d6 🔪 Typos 2015-09-21 03:17:39 +09:00
hiren mistry 4e2c43b082 Added new lines to run title for easy log reading 2015-09-19 15:10:14 -07:00
Jerry D'Antonio 56ac6e4768 Replaced `ThreadSafe::Map` with successor `Concurrent::Map`.
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.
2015-09-19 09:56:26 -04:00
wvengen 7059ab35f7 Add job priorities to ActiveJob 2015-09-17 22:17:39 +02:00
Marek Pieczyk 26f37f7c40 Properly log nested parameters to Active Job
Refactor arguments logging method for Active Job
2015-09-08 23:28:12 +02:00
claudiob 5e9a3e1292 Silence callback deprecation warning if testing AJ
Currently the log returned by running ActiveJob tests is filled with:

> DEPRECATION WARNING: Returning `false` in a callback will not implicitly halt a callback chain in the next release of Rails. To explicitly halt a callback chain, please use `throw :abort` instead.

For instance, see https://travis-ci.org/rails/rails/builds/77978273

This happens because some setup and teardown methods [like these one](https://github.com/rails/rails/blob/master/activejob/test/cases/async_job_test.rb#L10-L17)
invoke other methods like `perform_asynchronously!` that can return `false`, but
not with the intention of halting the process if they do.

In my opinion, these deprecation warnings can be silenced to have
the log result cleaner (especially when browsing for errors).
2015-08-31 00:30:53 -07:00
Jerry D'Antonio 25a4155257 Initial implementation of ActiveJob AsyncAdapter. 2015-08-25 14:22:11 -04:00
Rafael Mendonça França 3f866cbdab Fix typo on method name
[Robin Dupret]
2015-08-16 19:28:32 -03:00
yuuji.yaginuma e875273ebc use `average_scheduled_poll_interval` option instead of deprecated `poll_interval`
this removes the following warning:

```
DEPRECATION: `config.poll_interval = 0.5` will be removed in Sidekiq 4. Please update to `config.average_scheduled_poll_interval = 0.5`.
```
2015-08-15 22:41:46 +09:00
Yves Senn 68e3279163 implement `provider_job_id` for `queue_classic`.
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.
2015-08-13 10:00:19 +02:00
Yves Senn 48a183ecb9 use `assert_not` instead of `refute` as mentioned in our guides.
As described in the "Follow Coding Conventions" section in our
contribution guide (http://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html#follow-the-coding-conventions)
we favor `assert_not` over `refute`.

While we don't usually make stylistic changes on it's own I opted to do
it in this case. The reason being that test cases are usually copied as
a starting point for new tests. This results in a spread of `refute` in
files that have been using it already.
2015-08-13 09:20:39 +02:00
Jean Boussier b6d3a478fa Make assert_enqueued_with and assert_performed_with returns the matched job 2015-08-10 20:14:42 -04:00
Yves Senn 6586fdaf28 Merge pull request #21145 from toydestroyer/master
[ci skip]

Documentation: update queue_classic info in Active Job adapters list
2015-08-06 14:31:21 +02:00
Sergey Toy 84eeec5ee6 Documentation: update queue_classic info in Active Job adapters list 2015-08-06 14:24:57 +03:00
Kasper Timm Hansen a7fcb0e50a Add missing HelloJob require.
This way JobSerializationTest runs in isolation without errors.
2015-08-05 21:55:42 +02:00
Kasper Timm Hansen 7a3ca69959 Merge pull request #20800 from xijo/make_active_job_locale_aware
Make ActiveJob locale aware
2015-08-04 11:56:57 +02:00
Johannes Opper 3860e6b2bf Fixes #20799
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.
2015-08-04 00:38:18 +02:00
Robin Dupret a74fbb2972 Add `:nodoc:` for internal testing methods [ci skip] 2015-07-28 12:22:37 +02:00
Faraz Yashar fd8122a878 Improve error message when serializing unsaved records for jobs 2015-06-28 14:58:01 -04:00
yui-knk c7644e9eb0 [ci skip] Add `.` 2015-06-10 13:29:19 +09:00
Anton Davydov 455e44cd68 [skip ci] Add documentation for QueueAdapter::queue_adapter 2015-06-02 00:24:04 +03:00
Yves Senn 2db8414102 Merge pull request #20371 from davydovanton/doc-adapter-lookup
Update documentation for QueueAdapters::lookup [ci skip]
2015-06-01 13:32:35 +02:00
Anton Davydov 528efcbbbe [skip ci] Update documentation for QueueAdapters::lookup 2015-06-01 14:21:28 +03:00