Commit Graph

18 Commits (7fb94bda0d2c8e05edbfb02f335a5f27e0af780f)

Author SHA1 Message Date
Angie Byron 6abcc47e25 #538660 by JacobSingh, dww, JoshuaRogers, adrian, Crell, chx, anarcat, and cwgordon7: Add a functioning Plugin Manager to core. Can you say module installation and updates through the UI? I knew you could! :D 2009-10-15 21:19:31 +00:00
Dries Buytaert 2fb451c872 - Patch #604618 by Crell, JacobSingh: create a common interface for Archive operations so we can handle .zip, .tar.gz. 2009-10-15 17:55:55 +00:00
Angie Byron ee59107c23 #331180 by pwolanin and Rob Loach: Added pluggable smtp/mail framework. 2009-08-31 18:30:27 +00:00
Dries Buytaert 40003c8307 - Patch #113614 by eaton, fago, et al: add centralized token/placeholder subsituation to core. 2009-08-19 20:19:37 +00:00
Dries Buytaert 5077fce3d6 - Patch #486558 by PEAR, chx: add tar-support to Drupal. 2009-06-17 10:46:49 +00:00
Dries Buytaert e9d97f1eef - Patch #449198 by boombatower: cealn up test loading and related API. 2009-06-08 09:23:55 +00:00
Dries Buytaert 4ef77a590c - Patch #391340 by chx, dww, neclimdul, Crell, alex_b, et al: job queue API.
The queue system allows placing items in a queue and processing them later.  The system tries to ensure that only one consumer can process an item.

Before a queue can be used it needs to be created by DrupalQueueInterface::createQueue().

Items can be added to the queue by passing an arbitrary data object to DrupalQueueInterface::createItem().

To process an item, call DrupalQueueInterface::claimItem() and specify how long you want to have a lease for working on that item. When finished processing, the item needs to be deleted by calling DrupalQueueInterface::deleteItem(). If the consumer dies, the item will be made available again by the DrapalQueueInterface implementation once the lease expires. Another consumer will then be able to receive it when calling DrupalQueueInterface::claimItem().

The $item object used by the DrupalQueueInterface can contain arbitrary metadata depending on the implementation. Systems using the interface should only rely on the data property which will contain the information passed to DrupalQueueInterface::createItem(). The full queue item returned by DrupalQueueInterface::createItem() needs to be passed to DrupalQueueInterface::deleteItem() once processing is completed.

While the queue system makes a best effort to preserve order in messages, due to the pluggable nature of the queue, there is no guarantee that items will be delivered on claim in the order they were sent. For example, some implementations like beanstalkd or others with distributed back-ends like Amazon SQS will be managing jobs for a large set of producers and consumers where a strict FIFO ordering will likely not be preserved.

The system also makes no guarantees about a task only being executed once: callers that have non-idempotent tasks either need to live with the possiblity of the task being invoked multiple times in cases where a claim lease expires, or need to implement their own transactions to make their tasks idempotent.
2009-05-06 10:37:28 +00:00
Angie Byron 390e2fd2d7 #320024 by Dave Reid: Replace hardcoded drupal_required_modules() with required = TRUE in .info files. 2008-10-12 01:23:07 +00:00
Angie Byron da7f3a0ef0 #319699 follow-up by Dave Reid: Simplify required module hiding in admin/build/modules. 2008-10-11 15:54:14 +00:00
Angie Byron 7e02f2f782 #318984 by Xano and Dave Reid: Change 'Core - optional' to 'Core' in modules UI. 2008-10-11 02:33:14 +00:00
Angie Byron 464be0b8bd #318892 by justinrandell and chx: Add .install files to the list of files added to .info files. 2008-10-09 22:51:41 +00:00
Dries Buytaert ffdfefebbc - Patch #270508 by paul.levvik and pwolanin: usability improvement: image toolkits should not have to be copied. 2008-07-08 01:08:15 +00:00
Dries Buytaert 2e18cb8924 - Patch #221964 by chx, dopry, webernet, moshe, webchick, justinrandall, flobruit
et al.  Can you say 'registry'?  Drupal now maintains an internal registry of
  all functions or classes in the system, allowing it to lazy-load code files as
  needed (reducing the amount of code that must be parsed on each request). The
  list of included files is cached per menu callback for subsequent loading by
  the menu router. This way, a given page request will have all the code it needs
  but little else, minimizing time spent parsing unneeded code.
2008-05-06 12:18:54 +00:00
Dries Buytaert b05db1f176 - Patch #221384 by webernet: update core compatibility to Drupal 7. 2008-02-18 19:19:49 +00:00
Dries Buytaert 29eb5a6284 - Patch #146910 by dww: only allow enabling modules with the same Drupal core compatibility version. 2007-06-08 05:50:58 +00:00
Dries Buytaert 6ae6dc0d85 - Patch #87298 by webchick, neil, dww et al: show version numbers on modules page. 2006-11-21 20:55:36 +00:00
Dries Buytaert 18b297abf8 - Patch #81740 by merlinofchaos, webchick, moshe, neclimdul et al: added package support to the modules page. 2006-10-05 15:47:57 +00:00
Dries Buytaert c64db1da29 - Patch #80952 by earl, webchick, neclimdul et al: .info files 2006-08-31 20:22:37 +00:00