Async Command


IMPORTANT: This module is deprecated in favor of Drupal Computing module. Major dependent modules such as Recommender API module have been migrated. Please upgrade soon.

This module is useful for running complex 3rd party programs in the backend to analyze/process data stored in the Drupal database. Through Drupal admin interface, you simply issue any pre-defined data processing commands into a queue, which are executed later by the 3rd party programs (perhaps on a remote server) asynchronously.

What features you'll find in this module:

  • A Java library (jar file) to connect to the Drupal database. External 3rd party program can use this library to get data from Drupal database, do some computation, and save the data back to the database.
  • A queue management system to coordinate command executions between Drupal and 3rd party programs.
  • Views integration to display execution history.
  • Triggers/Actions to send notifications of command execution status (to be implemented).
  • REST/Web Services support (to be implemented).
  • Integration with other modules: Drush, Services (to be implemented).

What features you'll find in the Java library (drupal-app.jar):

  • JDBC Connection pooling to Drupal database.
  • Java class hierarchy (or framework) to help you write your Java/Jython/JRuby/R/shell program.
  • Multi-threading for parallel computing.
  • Execute Drush command, which means you can execute any Drupal API using "drush eval".
  • Read/write Drupal variables.
  • Read/write encrypted field from Encrypted Settings Field.
  • ...

The module is different from Drush (or Drupal Batch API, or Queue API) in that:

  1. Drush is synchronized (command gets executed immediately).
  2. Drush has to resides locally where Drupal is installed, whereas Async Command programs could run on a remote computer.
  3. Drush requires PHP, but Async Command programs could be written in any languages (Python, R, Matlab, Java, Ruby etc).
  4. Async Command is designed specifically for time/resource consuming computation tasks.

The module is different from Beanstalk or other queue management system in that:

  1. Async Command comes with a Java library to help you write 3rd party programs.
  2. In terms of queue management, this module is light-weight compared to Beanstalk (no need to install Beanstalk, less features, but integrate tighter with Drupal
  3. Async Command is not distributed messaging system: it only sends commands to one worker. However, that one worker can further distribute commands to multiple workers (thus implementing a distributed messaging system).

Modules that uses this Async Command module

Note to developers:: This module is still in alpha, and is subject to change anytime. If you use this module for development purpose, please let me know so we can coordinate possible API interface changes.

Developed by Daniel Zhou at Michiza Computing.


Async Command项目的Drush安装命令:复制到剪贴板

注:个别模块仍需开启相关子模块。

项目分类:

周安装量: 
434
维护状态: 
不再支持
开发状态: 
不再继续开发

推荐版本下载:

版本下载地址发布日期发布说明翻译下载
7.x-2.0-alpha10tar.gz (2.24 MB) | zip (2.36 MB)2012年3月9日发布说明简 | 繁 | 更多

其他版本下载:

版本下载地址发布日期发布说明翻译下载
7.x-1.0-alpha11tar.gz (1.85 MB) | zip (1.86 MB)2011年10月24日发布说明简 | 繁 | 更多

开发版本下载:

版本下载地址发布日期发布说明翻译下载
7.x-2.x-devtar.gz (2.24 MB) | zip (2.36 MB)2013年9月30日发布说明简 | 繁 | 更多
7.x-1.x-devtar.gz (1.85 MB) | zip (1.86 MB)2013年9月30日发布说明简 | 繁 | 更多