Commit Graph

735 Commits

Author SHA1 Message Date
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
Yves Senn b25436abc4 minor formatting changes in changelogs. [ci skip] 2015-05-31 11:24:36 +02:00
Arun Agrawal 21b6b68f63 Remove unused package tasks
We are using `all:build` now.
2015-05-28 09:06:10 +02:00
Yves Senn 852460852c Merge pull request #20262 from arunagw/aa-remove-broken-unused-release-task
Remove broken and unused release task
2015-05-27 09:14:19 +02:00
Yoong Kang Lim f55fe55d5a Fix spelling mistakes 2015-05-25 23:26:15 +10:00
Arun Agrawal 4194d052d8 Remove broken and unused release task
- We do release with release.rb
- There is no `rake/gemcutter`
2015-05-22 14:30:30 +02:00
Gourav Tiwari 17c10038c5 doc changes for readability [ci skip] 2015-05-19 19:24:35 +00:00
Prathamesh Sonpatki daba090dec Pass over CHANGELOGS [ci skip] 2015-05-16 11:00:17 +05:30
claudiob 0080a886b2 [ci skip] Don’t encourage `sudo gem install`
I think we are better off leaving `sudo` outside of the documented
way of installing gems (`activerecord`, `actionpack`, …).

We don’t want newbies to think that `sudo` is required or, even worse, than
they actually have to type `[sudo] gem install`.

In most scenarios, `sudo` is not needed to install gems, and people who do
need it, probably already know about it.

What do you think? 😁
2015-05-12 14:51:19 -07:00
Cristian Bica 30b640045f ActiveJob - log enqueued message only after the job was successfully enqueued 2015-05-11 21:19:46 +03:00
Rafael Mendonça França fca8a7a7ba Merge pull request #20064 from kddeisz/qu_provider_job_id
Provide provider_job_id to qu adapter.
2015-05-08 15:13:05 -03:00
Yves Senn 0b305bfe1a Merge pull request #20072 from vngrs/refactor_active_job_sidekiq_adapter
Refactor sidekiq adapter enqueue and enqueue_at methods
2015-05-08 16:29:04 +02:00
Mehmet Emin İNAÇ 73c70e88d3 Don't need to explicitly set test_order it's :random default 2015-05-08 17:10:28 +03:00
Mehmet Emin İNAÇ e744cfee65 Refactor sidekiq adapter enqueue and enqueue_at methods 2015-05-08 16:45:04 +03:00
Kevin Deisz 221a411fd7 Provide provider_job_id to qu adapter.
Further work to provide provider_job_id for queue adapters.
2015-05-07 19:17:22 -04:00
Jeroen van Baarsen 29fcbc2ea0 Make que report back its job_id to provider_job_id
Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
2015-05-07 21:59:07 +02:00
Jeroen van Baarsen 52d131826e Let Sidekiq set provider_job_id
When a job is added to Sidekiq by ActiveJob, make sure we still can get the
original job_id provider by Sidekiq. We do this by adding the sidekiq jid to
provider_job_id field on the job object.

Partly fixes #18821

Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
2015-05-07 21:48:50 +02:00
Kevin Deisz dd8e859829 Get provider_job_id from DelayedJob
When queueing with DelayedJob, get the id of the job instance and report
it back to ActiveJob as provider_job_id.
2015-05-05 10:30:16 -04:00
Rafael Mendonça França 5d83d111f5 Do not use named queues for que adapter
See #19498
2015-05-03 18:01:57 -03:00
Rafael Mendonça França c2e30f8e45 Disable warnings on activejob tests
The implementations seems to not be interested to remove the warnings so
enabling them we are just making harder to read the outputs
2015-05-03 18:01:10 -03:00
Rafael Mendonça França b4b29536e5 Merge pull request #19498 from chanks/activejob-que-remove-named-queues
ActiveJob: Stop using Que's named queues.
2015-05-03 17:39:50 -03:00
Yves Senn 4d4950fae9 Merge pull request #19969 from y-yagi/fix_job_helper_method
match a expected value with message of `assert_equal` in AJ helper methods
2015-05-01 08:59:58 +02:00
yuuji.yaginuma 9150866698 match a expected value with message of `assert_equal` in AJ helper methods 2015-05-01 07:34:37 +09:00
Zachary Scott b66dcc1f86 Add doc for original_exception in ActiveJob::DeserializationError [ci skip] 2015-04-29 18:46:25 -07:00
Zachary Scott 785cb9fe75 Add initial doc for Core in AJ [ci skip] 2015-04-29 18:46:12 -07:00
Zachary Scott 56bcd69ade Add initial doc for Enqueuing module [ci skip] 2015-04-29 18:45:53 -07:00
Zachary Scott 80ee55f3b8 Rails should be nodoc'd here [ci skip] 2015-04-29 18:44:37 -07:00
Mehmet Emin İNAÇ 6528b01942 Add missing error messages for sucker_punch, sneakers and qu activejob adapters [ci skip]
fix error message

change raise to use rails conventions

fix misspells
2015-04-29 14:51:54 +03:00
Zachary Scott ba35b4702e nodoc private internal constants from ActiveJob::Arguments 2015-04-26 21:54:08 -07:00
Rafael Mendonça França f5ae2894c3 Remove nonexistent adapter
Closes #19866

[ci skip]
2015-04-23 15:45:21 -03:00
Matthew Draper 40ff5087ec Queue Classic runs a second earlier than scheduled
That seems to be a bug, but as we don't actually care about the
precision for our test, we'll just give it a bit longer.

[Matthew Draper & Cristian Bica]
2015-04-23 05:36:58 +09:30
Matthew Draper 8b09b45458 Only *configure* the queue in setup; DB creation must come later
setup gets called from the initializer, so it happens more than once in
a test run. Trying to drop the database again after the first process is
connected is.. ineffective. And entirely pointless.

Instead, defer creating the database to start_workers -- which only
happens once, right before we start doing anything real.
2015-04-20 09:14:19 +09:30
Matthew Draper 41ae432f49 Shuffle a few things in aid of easier debugging
* Don't swallow output -- if there is any, it's probably useful
* Wait for the process to finish
* Use IPC instead of a sleep
* No need for a pidfile
2015-04-20 08:50:24 +09:30
Matthew Draper 2ca8545e51 Fix sidekiq test order dependency
Requiring sidekiq/testing changes stuff, so we need to counteract that
after we do so.

And given its potential to confuse things, let's do it up front, at a
predictable point.
2015-04-20 08:21:15 +09:30
Takumi IINO b126e7aaaa avoid double initialization error caused to sidekiq
Sidekiq::CLI#boot_system require "#{dummy_app_path}/config/environment.rb".
But this file has already been required in'test/support/integration/helper.rb'.
This patch will change to use Sidekiq::Launcher directly.
2015-04-14 13:06:20 -04:00
Guillermo Iguaran 33ea933d7b Merge pull request #19753 from jonatack/use-ruby-2-2-2
Upgrade to Ruby 2.2.2
2015-04-13 22:56:47 -05:00
Jon Atack 32f7491808 Upgrade to Ruby 2.2.2
and fix the grammar in the ruby_version_check.rb user message.
2015-04-14 08:41:56 +05:30
Robin Dupret 5493e9c7f8 Fix a few typos and wrap some lines [ci skip] 2015-04-12 15:34:28 +02:00
Zachary Scott b0b8a6b0e4 Copy edits for QueueAdapters docs to fix #17765 [ci skip] 2015-04-10 16:37:25 -07:00
KingsleyKelly 7d4f5264b5 [ci skip] Adds documentation explaining table labels for Active Job QueueAdapters table in docs. 2015-04-09 22:06:52 +01:00
KingsleyKelly 94b1aff2a4 [ci skip] Adds rdoc for priority explaining what the labels in the table means. 2015-04-06 22:50:06 +01:00
Matthew Draper cb01246721 Merge pull request #19034 from jvanbaarsen/explicit-job-base-class
Add explicit base class for ActiveJob jobs
2015-03-30 23:04:25 +10:30
Chris Hanks fdfca02c30 Stop using Que's named queues in its ActiveJob adapter. 2015-03-24 09:25:49 -04:00
Mike Perham 8d2b1406bc Pass wrapped class name to Sidekiq for logging purposes
Sidekiq logs the name of the job class being performed.  Because
ActiveJob wraps the class, this means every job logs as an AJ::JobWrapper
instead of the actual class name.

Will help fix mperham/sidekiq#2248
2015-03-23 15:16:07 -07:00
Jeroen van Baarsen 929a794a31 Add explicit base class for ActiveJob jobs
* Jobs generated now inherent from ApplicationJob
* ApplicationJob inherents from ActiveJob::Base
* Added entry to changelog

Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
2015-03-23 22:37:11 +01:00
Brandon Weiss 0965863564 Closes rails/rails#18864: Renaming transactional fixtures to transactional tests
I’m renaming all instances of `use_transcational_fixtures` to
`use_transactional_tests` and “transactional fixtures” to
“transactional tests”.

I’m deprecating `use_transactional_fixtures=`. So anyone who is
explicitly setting this will get a warning telling them to use
`use_transactional_tests=` instead.

I’m maintaining backwards compatibility—both forms will work.
`use_transactional_tests` will check to see if
`use_transactional_fixtures` is set and use that, otherwise it will use
itself. But because `use_transactional_tests` is a class attribute
(created with `class_attribute`) this requires a little bit of hoop
jumping. The writer method that `class_attribute` generates defines a
new reader method that return the value being set. Which means we can’t
set the default of `true` using `use_transactional_tests=` as was done
previously because that won’t take into account anyone using
`use_transactional_fixtures`. Instead I defined the reader method
manually and it checks `use_transactional_fixtures`. If it was set then
it should be used, otherwise it should return the default, which is
`true`. If someone uses `use_transactional_tests=` then it will
overwrite the backwards-compatible method with whatever they set.
2015-03-16 11:35:44 -07:00
Semyon Pupkov 607b0069b3 Move Adapter to private constant 2015-03-16 17:30:37 +05:00
Tamir Duberstein 9832e17c3c `QueueAdapters` does the lookup 2015-03-12 21:55:19 -07:00
Tamir Duberstein 7e36841981 Use a more conservative `const_get` over `constantize` 2015-03-12 08:40:41 -07:00
Tamir Duberstein 1f8558fa27 `ActiveJob::Base#queue_adapter` is now a `class_attribute`
This allows different `queue_adapters` to be used in each `ActiveJob`
class heirarchy. Previously, all subclasses used a single global queue
adapter.
2015-03-11 22:45:59 -07:00
Tamir Duberstein fb26645c1e `ActiveJob::QueueAdapters::*` are no longer singletons 2015-03-11 15:58:41 -07:00
Tamir Duberstein c696cffcf6 Fix naming collision 2015-03-11 15:40:48 -07:00
Peter Suschlik f0768eba28 Target Ruby 2.2.1 in gemspecs
This is a follow-up to #19257
2015-03-09 09:56:26 +01:00
Jeremy Kemper a3e490419a Fix leaky `only: …` option for Active Job assertions
The filter was set on the pseudo-global TestAdapter but not restored to
its original value.

See e818f65770
2015-03-06 10:42:49 -07:00
Cristian Bica cb786219f4 Fixed ActiveJob integration tests 2015-03-05 23:57:57 +02:00
Darío Hereñú 4826ec9039 Minor fixes (proposal) 2015-02-28 22:19:23 -03:00
Carlos Antonio da Silva 8adfd4fea7 Avoid creating an extra hash on the job test adapter 2015-02-24 07:23:05 -03:00
Tamir Duberstein 802f855ecf `ActiveJob::QueueAdapters::TestAdapter` is now a singleton
Since `ActiveJob::TestHelper` globally sets
`ActiveJob::Base.queue_adapter` on setup, there is no benefit in
instantiating a new `TestAdapter` per tests. The original rationale was
to allow parallel tests to run without interference, but since they'd
all mutate the global `ActiveJob::Base.queue_adapter`, that was never
realized.
2015-02-23 17:31:36 -08:00
Jeroen van Baarsen e380ac685b Changed the AJADAPTER to AJ_ADAPTER
* This allows for easier reading, since those are two words, so they should be
  split by _

Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
2015-02-22 16:11:21 +01:00
Carlos Antonio da Silva de9a3748c4 Move #18833 changelog to the top [ci skip] 2015-02-08 11:52:47 -02:00
Michael Ryan e818f65770 Add an `:only` option to `perform_enqueued_jobs` to filter jobs based on
type.

This allows specific jobs to be tested, while preventing others from
being performed unnecessarily.

Example:

    def test_hello_job
      assert_performed_jobs 1, only: HelloJob do
        HelloJob.perform_later('jeremy')
        LoggingJob.perform_later
      end
    end

An array may also be specified, to support testing multiple jobs.

Example:

    def test_hello_and_logging_jobs
      assert_nothing_raised do
        assert_performed_jobs 2, only: [HelloJob, LoggingJob] do
          HelloJob.perform_later('jeremy')
          LoggingJob.perform_later('stewie')
          RescueJob.perform_later('david')
        end
      end
    end

Fixes #18802.

Trim space and document :only option.
2015-02-06 14:11:42 -05:00
robertomiranda ce8efcf296 Use public Module#include, in favor of https://bugs.ruby-lang.org/issues/8846
ref: https://github.com/rails/rails/pull/18763#issuecomment-72349769
2015-01-31 23:12:41 -05:00
Sean Griffin 31085a5cd4 Allow keyword arguments to work with ActiveJob
Unfortunately, the HashWithIndifferent access approach is insufficient
for our needs. It's perfectly reasonable to want to use keyword
arguments with Active Job, which we will see as a symbol keyed hash. For
Ruby to convert this back to keyword arguments, it must deserialize to a
symbol keyed hash.

There are two primary changes to the serialization behavior. We first
treat a HWIA separately, and mark it as such so we can convert it back
into a HWIA during deserialization.

For normal hashes, we keep a list of all symbol keys, and convert them
back to symbol keys after deserialization.

Fixes #18741.
2015-01-30 13:43:39 -07:00
Richard Manyanza 9d3042d05e Fix ActiveJob assertions with a GlobalID object argument 2015-01-23 17:46:16 +03:00
Yves Senn a7621d7d53 formatting pass over CHANGELOGs. [ci skip] 2015-01-10 12:17:57 +01:00
George Claghorn 91e31e82fe Add :only option to assert_no_enqueued_jobs 2015-01-08 09:39:01 -05:00
Carlos Antonio da Silva a22a653c29 Fix Active Job changelog formatting and reword a bit [ci skip] 2015-01-08 07:40:00 -02:00
George Claghorn b5e88317cc Add :only option to assert_enqueued_jobs
With the option, assert_enqueued_jobs will check the number of times a specific kind of job is enqueued.
2015-01-07 23:44:08 -05:00
Rafael Mendonça França 4ab0320fb4 No need to disable sidikiq tests with 1.9.3 anymore 2015-01-04 15:54:22 -03:00
Rafael Mendonça França 8a1c3476a6 Do not run integration tests for the test adapter 2015-01-02 00:09:10 -03:00
Robin Dupret 24637e577c Merge pull request #18271 from arunagw/change-copyright-year
Update copyright notices to 2015 [ci skip]
2015-01-01 00:08:17 +01:00
Robin Dupret f2b31cd6d1 Tiny follow-up to #18260 [ci skip]
Indent the list content by 4 spaces instead of 2 to match the other
changelog files. Also wrap the lines around 80 chars.

Finally update the documentation example with nit-picky things.
2014-12-31 17:35:41 +01:00
Arun Agrawal c7a1f70fdd Merge pull request #18277 from prathamesh-sonpatki/typo-aj-changelog
Fixed typo in ActiveJob CHANGELOG [ci skip]
2014-12-31 17:32:44 +01:00
Prathamesh Sonpatki c8e4d0a0a1 Fixed typo in ActiveJob CHANGELOG [ci skip] 2014-12-31 21:59:37 +05:30
Robin Dupret 7d1718f49e Merge pull request #18274 from rajcybage/spell_fix
Fix spell life cycle on activejob docs [ci skip]
2014-12-31 11:26:23 +01:00
Rajarshi Das 0f80b9f997 Fix spell life cycle on activejob docs [ ci skip] 2014-12-31 15:51:37 +05:30
Arun Agrawal 4de18d0ead Update copyright notices to 2015 [ci skip] 2014-12-31 08:34:14 +01:00
Prathamesh Sonpatki 2ecee1034d ActiveJob is not ActionJob [ci skip] 😄 2014-12-31 11:27:32 +05:30
Rafael Mendonça França 0d1ab34915 Merge pull request #18266 from cristianbica/ajfixes
ActiveJob testing improvements
2014-12-30 21:05:29 -03:00
Isaac Seymour 65542e2797 ActiveJob: delegate full deserialization to class 2014-12-30 23:33:09 +00:00
Cristian Bica 8a73f4b5b9 ActiveJob testing improvements
1. The :test adapter wasn't going through a full cycle of
serialize/deserialize when performing jobs. Now it does
2. Regular AJ tests were not run for the :test adapter. Now they are
3. ActiveJob::TestHelper uses assert_valid_keys but doesn’t requires
the file that implements that method. Now it does
2014-12-30 17:53:42 +02:00
Yukio Mizuta 8a1d1d4e14 Expectation comes first 2014-12-28 17:55:40 -08:00
claudiob d3b098b828 Require Ruby 2.2 for Rails 5.0
Stems from [this comment](https://github.com/rails/rails/pull/18203#issuecomment-68138096) by @robin850
and by the blog post http://weblog.rubyonrails.org/2014/12/19/Rails-4-2-final
2014-12-26 13:53:09 +01:00
joker1007 7b76f05cd1 Add 'require' for Hash#with_indifferent_access
ActiveJob::Arguments uses Hash#with_indifferent_access.
But, activejob gem does not require Hash extension library.
When we use activejob as standalone,
we need extra require statement. This is unhandy.

This commit fixes it.
2014-12-21 21:03:16 +09:00
claudiob 902da271f5 Replace guides.ror.org/v4.2.0 with guides.ror.org
No need to point links to http://guides.rubyonrails.org/v4.2.0/... now
that the Ruby on Rails guides point to 4.2.0.
2014-12-20 05:37:09 -08:00
Rafael Mendonça França aab670b430 redis 3.2.0 doesn't allow tcp protocol anymore
Use redis protocol
2014-12-13 00:06:31 -02:00
David Heinemeier Hansson 4419294eaa Include missing require 2014-12-05 15:16:10 +01:00
David Heinemeier Hansson ad4935f127 Merge pull request #17817 from aripollak/hide-activejob-args
GlobalID objects are logged by their URI, not #inspect on the object, to prevent logging private data
2014-12-05 11:05:15 -02:00
Ari Pollak e2fffbff98 Inline to_global_id conversion 2014-12-04 18:25:05 -05:00
Ari Pollak e5e44ba8db Use try instead of checking for GlobalID::Identification 2014-12-04 16:51:59 -05:00
Rafael Mendonça França 191ea4b85b Merge pull request #17825 from aripollak/fix-activejob-sidekiq-integration
Fix Sidekiq ActiveJob integration setup

Conflicts:
	activejob/test/support/integration/adapters/sidekiq.rb
2014-12-04 18:24:23 -02:00
Ari Pollak 25c8ea264e Only filter GIDable objects; remove cosmetic changes 2014-12-01 11:16:30 -05:00
Erik Michaels-Ober d1374f99bf Pass symbol as an argument instead of a block 2014-11-29 11:53:24 +01:00
claudiob 96d0f751f9 Bump required Ruby version to 2.1.0
[This article](http://weblog.rubyonrails.org/2014/8/20/Rails-4-2-beta1/#maintenance-consequences-and-rails-5-0) states that:

> Rails 5.0 is in most likelihood going to target Ruby 2.2.

Before the exact minimum version is fully decided, @arthurnn [suggests](https://github.com/rails/rails/pull/17830#issuecomment-64940383)
that **at least** version 2.1.0 **must** be required by the `gemspec` files.
2014-11-28 22:59:51 -08:00
Ari Pollak 802630378e Hide potentially sensitive ActiveJob params from logs
* Show GlobalID instead of full object .inspect output
2014-11-28 22:20:50 -05:00
Ari Pollak 2fa4cbeebd Fix Sidekiq ActiveJob integration setup
* .connect on a Redis connection wasn't valid
* Reset logger after we're done testing for redis connection to avoid
  "closed stream" error when starting server for real from a fork
2014-11-28 17:18:32 -05:00
Rafael Mendonça França f25ad07f5a Start Rails 5 development 🎉
We will support only Ruby >= 2.1.

But right now we don't accept pull requests with syntax changes to drop
support to Ruby 1.9.
2014-11-28 15:00:06 -02:00
Fábio Luiz Nery de Miranda 4f8eb78b1a Add perform_enqueued_jobs
It will set proper queue_adapter state required by assert_performed_jobs assertions.

Also the block version of assert_performed_jobs will make sure this
state is respected.

Fixes #17684
2014-11-25 00:24:36 -02:00
yuuji.yaginuma 3e296e7a3a [ci skip] add "Qu" to Backends Features list 2014-11-15 13:48:52 +09:00
Yves Senn 2a843b3538 docs, minor changes in Active Job documentation. [ci skip] 2014-11-10 14:56:07 +01:00
Zachary Scott 77c0256409 Correct fixed-width doc syntax, thanks to @sikachu for pointing it out!
From dc5854f and c07c0b2 [ci skip]
2014-11-03 19:31:31 -08:00
Zachary Scott b049d792bd Document included ability of AJ::QueueName module for class methods [ci skip] 2014-11-03 19:26:04 -08:00
Zachary Scott 7ea0f26801 Add documentation of AJ::QueueAdapter class methods module [ci skip] 2014-11-03 19:25:44 -08:00
Zachary Scott 60fcf60c7b Document AJ::Execution class methods module [ci skip] 2014-11-03 19:23:36 -08:00
Zachary Scott c07c0b268e Document the module which includes `perform_later` for AJ::Enqueuing [ci skip] 2014-11-03 19:22:57 -08:00
Zachary Scott 73161c5744 Add documentation for class methods module included for AJ::Core used
for serialization and deserialization of jobs. [ci skip]
2014-11-03 19:22:11 -08:00
Zachary Scott dc5854f382 Document the class methods include module for AJ::Callbacks [ci skip] 2014-11-03 19:21:43 -08:00
rochefort 797a7a7c83 Remove redundant `to_s` in interpolation 2014-11-04 07:00:24 +09:00
Robin Dupret 1d6d0cc245 Tiny documentation styling fixes [ci skip] 2014-11-02 12:32:50 +01:00
Zachary Scott 26126c8533 Merge pull request #17469 from rishijain/update_docs_2
added punctuations, and role of queue_adapter module [ci skip]
2014-11-02 01:21:11 -07:00
Robin Dupret 30c3813cf0 Tiny documentation fixes and styling improvements
[ci skip]
2014-11-01 19:36:24 +01:00
Rishi Jain 19f6ac929b placed description at correct place [ci skip] 2014-11-01 10:29:34 +05:30
Rishi Jain 84f313ab5d added punctuations, and role of queue_adapter module [ci skip] 2014-11-01 06:15:13 +05:30
Robin Dupret aeb431a6ca Tiny documentation improvements [ci skip] 2014-10-31 19:48:42 +01:00
Godfrey Chan 4daebedcc4 Prepare for 4.2.0.beta4 release 2014-10-30 14:12:24 -07:00
Terry Meacham 11ab04b111 Added queue_name_delimiter attribute.
- Added ActiveJob::Base#queue_name_delimiter to allow for
  developers using ActiveJob to change the delimiter from the default
  ('_') to whatever else they may be using (e.g., '.', '-', ...).

- Updated source guide to include a blurb about the delimiter.
2014-10-26 21:46:05 -05:00
Yves Senn 5a16b5cd6d Merge pull request #17355 from vipulnsward/aj-string-fixes
Fix error string raised from AJ enqueue_at for ClassQueueAdapter
2014-10-23 11:51:01 +02:00
Yves Senn 2e38f83241 Merge pull request #17343 from vipulnsward/inline-aj-callbacks
Inline AJ around_perform and  around_enqueue in CallbackJob used for tests
2014-10-23 08:34:15 +02:00
Vipul A M 9494c74a9d - Fix error string raised from `enqueue_at` 2014-10-22 19:26:46 +05:30
Joe Lewis 8e12371da6 💅 fix typos in activejob queuing test 2014-10-22 06:33:10 -07:00
Vipul A M 588b39e1cd - Inline AJ around_perform and around_enqueue in CallbackJob used for tests. 2014-10-21 11:37:40 +05:30
Rafael Mendonça França f1e1894101 Merge pull request #17331 from vipulnsward/activejob-cleanups
Activejob cleanups
2014-10-20 18:33:47 -02:00
Vipul A M 6ecd33e4e1 - Changed description for AJ enqueuing methods to provide a sane description.
[ci skip]
2014-10-21 00:54:03 +05:30
Vipul A M 7b87fb1b64 - Fix mentioned shortcut, to what the shortcut actually is, and that it accepts blocks for `assert_no_enqueued_jobs` and `assert_no_performed_jobs` test helpers.
- args => arguments when used in actual docs.

[ci skip]
2014-10-21 00:40:59 +05:30
Vipul A M 2965e1671d - Remove duplication in AJ logging test for setting logger.
- Remove un-needed require in AJ rescue test.
2014-10-20 12:38:11 +05:30
Vipul A M c417311c4a No need to specify log level, run at log level as all other Rails components. 2014-10-20 12:36:44 +05:30
Yves Senn 74a527cc63 Merge pull request #17329 from vipulnsward/mention-perform-later-docs
Mention `perform_now` in AJ base docs to specify how to immediately invoke a job [ci skip]
2014-10-20 09:04:39 +02:00
Yves Senn e62554607c docs, It's "Active Job" not "Active job". [ci skip] 2014-10-20 09:00:16 +02:00
Vipul A M e16592e744 Mention `perform_now` in AJ base docs to specify how to immediately invoke a job. [ci skip] 2014-10-20 00:26:38 +05:30
Vipul A M 8660853770 - Removed unused variable warnings from ActiveJob Adapters 2014-10-19 23:17:22 +05:30
Vipul A M 16c04040f4 Enable emitting of warnings from ActiveJob tests. 2014-10-19 23:05:03 +05:30
Yves Senn 64e64c6f04 tests, move `original_` var assignments outside of `begin`. 2014-10-10 08:55:17 +02:00
Blake Gentry 4a1dbba108 ActiveJob: allow blank queue names
As discussed in #17195, Que uses blank queue names by default for
performance reasons. At the very least, ActiveJob should allow users to
choose "" as their queue name. This commit allows blank queue names, as
well as tests to make sure that nil queue names still use the default.
2014-10-09 19:42:43 -07:00
Ari Pollak 1472e0cf2c Don't pass retry option to Sidekiq
* This would override whatever default is configured in Sidekiq
  system-wide, and retry is true by default anyway.
2014-10-08 13:41:38 -04:00
Rafael Mendonça França ee9f86e2e3 Point to a specific version of guide to make the redirect work 2014-10-08 11:24:16 -03:00
yuuji.yaginuma a1e925db70 update error message when InlineAdapter is used 2014-10-08 11:24:02 +09:00
Jean-Philippe Boily 76056c627c update queue_classic details 2014-10-06 11:58:45 -04:00
mo khan bc6421c9ef Add documentation on Active Job.
This adds documentation for the Active Job API. It includes
documentation on how to configure the queue_adapter, and how to create
new jobs. It adds links to the various other sections of the Active Job
documentation.
2014-10-02 10:57:30 -06:00
Robin Dupret 1fac7b79f3 Follow up to #16613
Since we want this flag to be enabled anytime we are running the tests
under JRuby, let's enable this at the Rakefile level so people get the
performance boost on their local checkout.

Moreover, we avoid having to update this particular line anytime the
option changes on the JRuby side.

The only drawback is that we have to define it in every Rakefile but
there's no big deal, this is already the case for other options.
2014-09-28 12:04:06 +02:00
Robin Dupret d63005447b Tiny follow-up to #16999 [ci skip]
* Fix a typo
* Remove references to Rails version
* Remove an extra whitespace
2014-09-27 16:22:15 +02:00
Matthew Draper d7a058f785 Make AJ integration tests much less verbose
In passing, avoid a blind retry in QC: instead, just fix the problem.
2014-09-27 21:59:10 +09:30
Prathamesh Sonpatki 76ccbc2599 Fix some typos in ActiveJob
[ci skip]
2014-09-27 16:52:13 +05:30
yuuji.yaginuma ab22946e51 [ci skip] fix typo in set examples 2014-09-27 15:07:24 +09:00
Rafael Mendonça França 4581d04477 Preparing for 4.2.0.beta2 release 2014-09-26 17:19:53 -03:00
Jeremy Kemper 3f1d04e3bb Fix string/gid collision in job arguments
Serialize Global IDs as special objects, distinguishable from Strings
2014-09-25 10:00:19 -07:00
Yves Senn 017294066f Merge pull request #17005 from y-yagi/fix_aj_test_helper
add message to `assert` in `assert_enqueued_with`
2014-09-23 10:44:44 +02:00
yuuji.yaginuma 39bef5823f add message to `assert` in `assert_enqueued_with` 2014-09-23 08:50:32 +09:00
Rafael Mendonça França f4595e624b Merge pull request #16963 from collectiveidea/activejob-dj
Cleaner queuing of jobs using Delayed Job

Conflicts:
	activejob/lib/active_job/queue_adapters/delayed_job_adapter.rb
2014-09-22 14:33:29 -03:00
Cristian Bica c9a4c2a5ce Added RDoc for each Active Job adapter 2014-09-22 17:33:02 +03:00
David Genord II 0b10565d96 Cleaner queuing of jobs using Delayed Job 2014-09-18 15:52:30 -04:00
Akshay Vishnoi 9fddcdd99e [ci skip] AJ docs fixes
1. Indentation
2. Spaces issues
3. Spelling correction
4. Grammar correction
5. Add #:nodoc: to all internal classes
2014-09-18 01:16:53 +05:30
Abdelkader Boudih b820eb2027 simplify test_adapter 2014-09-14 22:11:52 +00:00
Jeremy Kemper e3a65c6d7c Tighten up AJ::Arguments and its tests
* Disallow deserialization of non-primitive objects
* Broaden coverage; remove superfluous tests
2014-09-14 14:11:26 -07:00
Jeremy Kemper 01ac23423d Pare down and simplify Active Job's rake tasks 2014-09-14 14:01:16 -07:00
Rafael Mendonça França 6c0adddccf Se the test order of activejob tests 2014-09-12 14:33:09 -03:00
Rafael Mendonça França a7dbfcf532 Change gid calls to to_gid 2014-09-12 14:33:09 -03:00
Abdelkader Boudih ed9f71d11a Bump globalid version 2014-09-12 08:30:35 +00:00
Cristian Bica 175ba66664 ActiveJob Integration Tests 2014-09-11 00:38:56 +03:00
Yves Senn ce43e8a6fc Merge pull request #16807 from tgxworld/carry_out_assignment_within_block
Move variable assignment within logging block.
2014-09-05 09:12:37 +02:00
Abdelkader Boudih fbe116a248 correct rdoc [ci skip] 2014-09-05 06:35:19 +00:00
Guo Xiang Tan 3fe864f69d Move variable assignment within logging block. 2014-09-05 10:33:28 +08:00
David Heinemeier Hansson 4d8523c382 Merge pull request #16699 from cristianbica/aj-refactor-queueing
Active Job partial refactor
2014-09-04 18:50:28 -07:00
Matthew Draper 2198a9fc0d Fix a warning 2014-09-05 00:05:37 +09:30
Cristian Bica 15ddf60e05 Rename remaining :in / :at to :wait / :wait_until 2014-09-04 08:08:06 +03:00
Cristian Bica 1e237b4e44 Active Job refactoring 2014-09-03 23:01:46 +03:00
Cristian Bica 57d56aa933 [Active Job] Try to deserialize with GlobalID only strings and globalids 2014-09-03 15:06:10 +03:00
Cristian Bica 56f992fe15 Fix for double ActiveJob::DeserializationErorr 2014-09-03 14:23:47 +03:00
Abdelkader Boudih a70bdfe6e3 Fix failing tests in ActiveJob Adapter 2014-09-02 20:27:32 +00:00
Rafael Mendonça França 2e500e5c93 Merge pull request #16724 from seuros/testcase
[ActiveJob] TestCase
2014-09-02 11:31:08 -03:00
Abdelkader Boudih d7add5352e [ActiveJob] TestCase (Will squash before merge) 2014-09-02 14:26:43 +00:00
Cristian Bica 5255e4f39f ActiveJob: Implemented enqueue_at for QueueClassic 2014-09-02 14:35:53 +03:00
Abdelkader Boudih fccf3d0b63 [ActiveJob] TestCase 2014-09-02 07:50:16 +00:00
Abdelkader Boudih eb4245dd17 [ActiveJob] TestCase 2014-09-02 07:50:16 +00:00
Robin Dupret 84c0f73c8d Refer to the library name instead of the constant
When we are loading a component and we want to know its version, we are
actually not speaking about the constant but the library itself.

[ci skip]

[Godfrey Chan & Xavier Noria]
2014-08-30 11:58:23 +02:00
David Heinemeier Hansson 7475b43cdb Merge branch 'master' of github.com:rails/rails 2014-08-29 14:54:08 -07:00
Cristian Bica 02b63a5f9e Fixed Active Job Backburner adapter 2014-08-30 00:04:01 +03:00
Robin Dupret 1da209fa9b Avoid skipping Sidekiq tests on Rubinius
Now that Travis provides support for Rubinius 2.2.10, we can run the
Sidekiq tests against this version.
2014-08-29 12:43:24 +02:00
Robin Dupret 38d6c722b2 Some documentation fixes [ci skip] 2014-08-29 12:37:14 +02:00
Abdelkader Boudih d56caea426 [ActiveJob] extract JobBuffer from helper 2014-08-29 08:50:09 +00:00
Abdelkader Boudih 7e99855dee [ActiveJob] Autoload adapters 2014-08-26 12:27:43 +00:00
Jeremy Kemper 5cdd02ddd4 Merge pull request #16681 from seuros/master
[ActiveJob] Add activesupport as dependency [ci skip]
2014-08-24 15:49:09 -07:00
Abdelkader Boudih 8fc99194ca [ActiveJob] Add activesupport as dependency [ci skip] 2014-08-24 22:16:48 +00:00
Robin Dupret f3b8a0d375 Fix a few typos [ci skip] 2014-08-24 18:35:22 +02:00
Cristian Bica 23329d33d4 Raise ActiveJob::SerializationError when cannot serialize job arguments 2014-08-24 16:01:58 +03:00
Rafael Mendonça França 9cc74261d4 Merge pull request #16602 from thetron/active_job_que_enqueue_at_support
Added enqueue_at support for QueAdapter in ActiveJob
2014-08-22 17:11:31 -03:00
Abdelkader Boudih e63a02ccfb [ActiveJob] Add hook for test_framework and test templates 2014-08-22 20:06:22 +00:00
Cristian Bica e084d5bd7a Implemented enqueue_at for ActiveJob's Backburner adapter 2014-08-22 17:44:48 +03:00
Guo Xiang Tan fb740239dc Pass logging message through block.
This follows the good practice listed on http://guides.rubyonrails.org/debugging_rails_applications.html#impact-of-logs-on-performance
2014-08-22 17:47:13 +08:00
Xavier Noria a57f7b5797 ActiveJob -> Active Job [ci skip]
See http://guides.rubyonrails.org/api_documentation_guidelines.html#wording
2014-08-21 23:28:10 +02:00
Nicholas Bruning 9b319a53fa Added enqueue_at support for QueAdapter in ActiveJob
* Added inline job runner for Que in test/support
* Updated QueAdapter to support enqueue_at
2014-08-21 04:27:30 +00:00
Logan Hasson d694ea259c [ci skip] Fix Active Job grammar in api docs 2014-08-20 15:36:58 -04:00
David Heinemeier Hansson 6a23bf0f4c Preparing for 4.2.0.beta1 release 2014-08-19 19:32:51 -07:00
Jeremy Kemper 9bea72b6fb Bump ActiveJob's GlobalID dep to 0.2.3+ to fix Railties tests 2014-08-19 12:45:04 -07:00
Peter Suschlik 01604c6ee5 Skip adapter queue_classic for JRuby 2014-08-19 15:40:45 +02:00
Yves Senn 1aa0550d40 use same idiom to define class method as in every other adapter. 2014-08-19 12:29:39 +02:00
Abdelkader Boudih 68c643f8e7 [ActiveJob] Add queue_name_prefix so all queue are prefixed .
We can split queues on a per environement basis as well as seggregate per application so we can split queues on a per env basis

ActiveJob::Base.queue_name_prefix = 'foo'
2014-08-18 20:04:02 +00:00
Akira Matsuda 6d92dcc7bd "warning: `*' interpreted as argument prefix" 2014-08-18 22:17:36 +09:00
Lucas Mazza 2f9179b4f4 Fix ActiveJob isolation tests. 2014-08-17 23:16:34 -03:00
Abdelkader Boudih 080296be61 [ActiveJob] require global_id/railtie 2014-08-17 23:17:38 +00:00
Cristian Bica 3faa61ede5 [ActiveJob] raise DeserializationError when got an error deserializing 2014-08-17 23:10:45 +00:00
Abdelkader Boudih 9a34262201 [ActiveJob] Add deserialize_arguments method to job 2014-08-17 23:10:45 +00:00
Abdelkader Boudih 931cfc4079 [ActiveJob] Fix tests for sucker_punch 2014-08-17 23:10:45 +00:00
Abdelkader Boudih 2f7b239fca [ActiveJob] Use globalid gem 2014-08-17 23:10:45 +00:00
Cristian Bica 59221cc4f1 [ActiveJob] make the resque-scheduler optional 2014-08-17 23:10:39 +00:00
Abdelkader Boudih b06d91924f [ActiveJob] remove ruby warnings 2014-08-17 23:10:33 +00:00
Abdelkader Boudih 3954fdf5f3 [ActiveJob] Convert ActiveJob::Arguments into module 2014-08-17 23:10:28 +00:00
Abdelkader Boudih fdc7dbc5b2 [ActiveJob] require files in logging.rb 2014-08-17 23:10:24 +00:00
Cristian Bica b2cabb7ace Added docs for AJ::Callbacks; Added AJ to docs build map 2014-08-16 01:31:39 +03:00
Cristian Bica 788aee5acf Moved AR testing from using global variable to thread variable 2014-08-16 00:02:06 +03:00
Cristian Bica c2f1eca194 Suggest the perform method can take arguments when generating an ActiveJob job 2014-08-15 23:35:06 +03:00
Cristian Bica 94ae25ecd5 ActiveJob: Reworked queue_base_name as default_queue_name + Allow configure ActiveJob from app.config.active_job 2014-08-15 23:32:08 +03:00
Abdelkader Boudih 8147e22a4d Update resque_adapter.rb 2014-08-14 22:54:56 +00:00
Abdelkader Boudih 9b209603d0 Clean adapter_test.rb and skip test for sidekiq in unsupported rubies 2014-08-13 13:55:08 +00:00
Abdelkader Boudih 67f8b6b2bc Added ActionMailer::DeliverLater 2014-08-13 11:36:32 +00:00
Cristian Bica 22ee993825 Modified activejob.gemspec to match other rails gems format 2014-08-12 16:04:24 +03:00
Cristian Bica 7c84dfb510 Update activejob's README 2014-08-12 15:43:43 +03:00
Cristian Bica 3ed69cd5f5 Fixed failing tests; Load active_job in railtie; Renamed generator to job 2014-08-12 13:53:46 +03:00
Abdelkader Boudih 0c232779ec Remove activejob integration tests 2014-08-12 10:07:21 +00:00
Abdelkader Boudih a75f085941 Add 'activejob/' from commit '14f74a8331f94150dfee653224de8fc837797709'
git-subtree-dir: activejob
git-subtree-mainline: b45b99894a
git-subtree-split: 14f74a8331
2014-08-12 09:17:19 +00:00