Download the PHP package stojg/silverstripe-resque without Composer

On this page you can find all versions of the php package stojg/silverstripe-resque. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package silverstripe-resque

SilverStripe Resque

This modules wraps php-resque to be able to make scheduled background jobs in sweet harmony with redis.

Requirements

Still in development

The principle is that a 'front-end' adds a job via Resque class, this is a very fast operation.

$args = array(
    'message' => 'from '.$_SERVER['HTTP_HOST'],
    'time' => date('Y-m-d H:i:s')
);
$token = Resque::enqueue("dev:ping", "SSResquePingJob", $args);

This will be sent over tcp to a redis server that will hold this information until a worker fetches it.

By starting one or many worker via the cli, they will pull jobs from a 'queue' on redis, ie: dev:ping. Then it will find a PHP class to run the job, SSResquePingJob populate it with the $args and then run SSResquePingJob->perform().

public function perform() {
    echo 'Ping: '.$this->args['time'].' '.$this->args['message'].PHP_EOL;
}

Any exception or errors will mark the job as failed, and it's possible to requeue it.

Installation

Install redis

Via homebrew:

$ brew install redis

Or by compiling it, see Redis Quick Start for more information.

$ sudo mkdir -p /usr/local/src
$ cd /usr/local/src
$ sudo wget http://download.redis.io/redis-stable.tar.gz
$ sudo tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ sudo make
$ sudo make install

There are most likely a suitable packages in your prefered linux distribution (untested).

Search google

Silverstripe Resque

$ git clone [email protected]:stojg/silverstripe-resque.git resque
$ cd resque
$ composer update

Usage

Start the redis server:

$ redis-server

Start the one worker for all queues in another terminal window

$ ./framework/sake dev/resque/run queue=*

In another terminal window, try creating a ping job

$ ./framework/sake dev/resque/ping

In the worker terminal you should now see something similar to

Ping: 2012-11-15 10:51:29 from hostname

Web interface

sudo gem install resque --no-ri -no-rdoc

Process monitor

How to install god on ubuntu / debian: How to monitor Resque with God and do it all with Capistrano on Ubuntu

Example configuration:

num_workers = 2

num_workers.times do |num| God.watch do |w| w.dir = "/var/www/site" w.name = "site-worker-#{num}" w.group = 'site-worker' w.interval = 30.seconds w.uid = 'www-data' w.gid = 'www-data' w.start = "/usr/bin/php ./framework/cli-script.php dev/resque/run queue=ping"

  # restart if memory gets too high
  w.transition(:up, :restart) do |on|
    on.condition(:memory_usage) do |c|
      c.above = 64.megabytes
      c.times = 2
    end
  end

  # determine the state on startup
  w.transition(:init, { true => :up, false => :start }) do |on|
    on.condition(:process_running) do |c|
      c.running = true
    end
  end

  # determine when process has finished starting
  w.transition([:start, :restart], :up) do |on|
    on.condition(:process_running) do |c|
      c.running = true
      c.interval = 5.seconds
    end

    # failsafe
    on.condition(:tries) do |c|
      c.times = 5
      c.transition = :start
      c.interval = 5.seconds
    end
  end

  # start if process is not running
  w.transition(:up, :start) do |on|
    on.condition(:process_running) do |c|
      c.running = false
    end
  end
end

end

Credits

Here are the giants which shoulders I'm standing standing on:


All versions of silverstripe-resque with dependencies

PHP Build Version
Package Version
Requires resque/php-resque Version ~1.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package stojg/silverstripe-resque contains the following files

Loading the files please wait ....