Active Job is a framework for declaring jobs and making them run on a
variety of queueing backends. These jobs can be everything from
regularly scheduled clean-ups, to billing charges, to
mailings. Anything that can be chopped up into small units of work and
run in parallel, really.

It also serves as the backend for Action Mailer's #deliver_later
functionality that makes it easy to turn any mailing into a job for
running later. That's one of the most common jobs in a modern web
application: Sending emails outside of the request-response cycle, so
the user doesn't have to wait on it.

The main point is to ensure that all Rails apps will have a job
infrastructure in place, even if it's in the form of an "immediate
runner". We can then have framework features and other gems build on
top of that, without having to worry about API differences between
Delayed Job and Resque. Picking your queuing backend becomes more of
an operational concern, then. And you'll be able to switch between
them without having to rewrite your jobs.

Log message:
Import ruby-activejob-4.2.8 as devel/ruby-activejob42
Active Job is a framework for declaring jobs and making them run on a
variety of queueing backends. These jobs can be everything from
regularly scheduled clean-ups, to billing charges, to
mailings. Anything that can be chopped up into small units of work and
run in parallel, really.
It also serves as the backend for Action Mailer's #deliver_later
functionality that makes it easy to turn any mailing into a job for
running later. That's one of the most common jobs in a modern web
application: Sending emails outside of the request-response cycle, so
the user doesn't have to wait on it.
The main point is to ensure that all Rails apps will have a job
infrastructure in place, even if it's in the form of an "immediate
runner". We can then have framework features and other gems build on
top of that, without having to worry about API differences between
Delayed Job and Resque. Picking your queuing backend becomes more of
an operational concern, then. And you'll be able to switch between
them without having to rewrite your jobs.