Marconi is an OpenStack project designed to be an open alternative to Amazon SQS and SNS. This module implements Marconi as an alternative Drupal Queue backend.

This module has been tested with Rackspace Cloud Queues. Other providers may work with minor modifications, but I have not been able to test with other providers because Rackspace is currently the only provider that I know of where this is in general availability.

This module requires Composer Manager.

Sandbox

Cloning this module

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/BrianAltenhofel/2107851.git marconi
cd marconi

Configuration

Details on configuration can be found in the README.

Testing

The following environment variables need to be set to run tests. Right now, the
tests run against Rackspace Cloud Queues. It is advised to run the tests via
Drush (drush test-run Marconi).

  marconi_client_id (UUID to identify your site. Can be anything.)
  marconi_username (Your Rackspace Cloud username.)
  marconi_apikey (Your Rackspace Cloud API Key.)
  marconi_region (The region you would like to use, such as IAD or DFW.)

Additionally, current test results can be seen at Travis CI. These tests are run directly against a Rackspace account.

I currently maintain...

Search API Elasticsearch

Comments

Anonymous’s picture

Issue summary: View changes
PA robot’s picture

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

yogeshchaugule8’s picture

The module looks good to me, and also passes the pareview.sh test.

harshil.maradiya’s picture

I dint get so much of time but i have done initial review
following are my comment

  • Variables are setting up but there is no uninstall hook
  • There should be proper installation steps how to configure or installed any library through composer

Cheers
Harshil

harshil.maradiya’s picture

Status: Needs review » Needs work
Anonymous’s picture

Status: Needs work » Needs review

1) There is no usage of variable_set() or system_settings_form(), therefore there is no needed to delete variables in hook_uninstall() per API documentation. Variables are defined manually by the user in settings.php, therefore it would be counterproductive to uninstall variables via hook_uninstall() because they would persist as long as the user failed to remove them from settings.php.

2) README has been updated with more verbosity in installation instructions. Drush instructions used assume that the project is given full status and are therefore invalid for this exercise as Drush does not work easily with sandboxes.

aroq’s picture

Some very minor issue:

Missed @return tag for the PHPDoc comment for function:

public function claimItem($ttl = 43200, $grace = 43200) {

Anonymous’s picture

Issue in #7 fixed.

Anonymous’s picture

Priority: Normal » Major

Update priority according to guidelines at https://drupal.org/node/539608

Anonymous’s picture

Priority: Major » Critical
Anonymous’s picture

Updated to work with current stable version of PHP-Opencloud.

Added basic Simpletests, though if you want to run them you will need to edit the credentials in tests/functional/marconi.test.

Anonymous’s picture

Issue summary: View changes
sreynen’s picture

Status: Needs review » Reviewed & tested by the community

I reviewed the code and see no blocker issues. I have not actively tested the project, as it relies on services not readily available to me.

rcross’s picture

I haven't actively tested this either, but also don't see any blocking issues. This user has also created another project which I think is worth of approval as well. https://drupal.org/sandbox/brianaltenhofel/2253131 details at http://www.vmdoh.com/blog/webform-options-bundle

Anonymous’s picture

Readme has been updated with the following information for running tests:

The following environment variables need to be set to run tests. Right now, the
tests run against Rackspace Cloud Queues. It is advised to run the tests via
Drush (drush test-run Marconi).

  marconi_client_id (UUID to identify your site. Can be anything.)
  marconi_username (Your Rackspace Cloud username.)
  marconi_apikey (Your Rackspace Cloud API Key.)
  marconi_region (The region you would like to use, such as IAD or DFW.)

Additionally, current test results can be seen at Travis CI.

Anonymous’s picture

Issue summary: View changes
joachim’s picture

A few small things:

function marconi_get_queue_options($name) {
  $options = &drupal_static(__FUNCTION__);

Static caching here seems excessive. All you're saving is two calls to variable_get(), and all variable_get() does is access a global variable.

description = "Use Marconi as an alternative Drupal Queue backend."

Module description should usually be in the 3rd person, eg "Allows use of Marconi [...]"

  public function __construct($name) {
    if (marconi_loaded()) {

What happens here if it's not loaded? You've gone to the trouble of letting marconi_loaded() return FALSE if there's a problem, but then you don't do anything with it.

  public function claimItem($ttl = 43200, $grace = 43200) {

$ttl param doesn't match the $lease parameter in the interface.

Otherwise looks great.

Anonymous’s picture

Issues have been fixed.

kattekrab’s picture

This one has been RTBC for a while now. Perhaps someone can bump it along next time they're doing a batch of approvals?

Brian - and maybe you could update the issue summary with a link to the reviews you did?

kscheirer’s picture

Priority: Critical » Normal
Status: Reviewed & tested by the community » Fixed

Non-blocking issues

Thanks for your contribution, Brian Altenhofel!

I updated your account so you can promote this to a full project and also create new projects as either a sandbox or a "full" project.

Here are some recommended readings to help with excellent maintainership:

You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!

Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

Thanks to the dedicated reviewer(s) as well.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.