Download the PHP package ruth/async-service-call-bundle without Composer

On this page you can find all versions of the php package ruth/async-service-call-bundle. 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 async-service-call-bundle

AsyncServiceCallBundle

Latest Stable Version Total Downloads Latest Unstable Version License

This bundle allows you to execute methods of your services asynchronously in a background process.

It is a fork on krlove/async-service-call-bundle, updated to run in Symfony 4 or 5.

Installation

Install using composer:

composer require ruth/async-service-call-bundle

It should enable the bundle at config/bundles.php

return [
   ...
   new Krlove\AsyncServiceCallBundle\KrloveAsyncServiceCallBundle(),
]

If not, you now know what to do.

Configuration

Options:

Example:

# config/packages/krlove_async_service_call.yaml
krlove_async_service_call:
    console_path: bin/console
    php_path: /usr/local/bin/php

Usage

Define any service:

<?php

namespace App\Service;

class AwesomeService
{
    public function doSomething($int, $string, $array)
    {
        // do something heavy
        sleep(10);
    }
}

Register service:

# services.yml
services:
    app.service.awesome:
        class: App\Service\AwesomeService
        public: true

make sure your service is configured with public: true

Execute doSomething method asynchronously:

$this->get('krlove.async')
     ->call('app.service.awesome', 'doSomething', [1, 'string', ['array']);

Line above will execute App\Service\AwesomeService::doSomething method by running krlove:service:call command on background.

You can follow it's execution by calling top on your console.

Original approach with symfony process Symfony\Component\Process\Process was abandoned in favor of a more traditional exec php function. The reason is this (that you can find in upper page):

Usage with Symfony Process Component

It is also possible to run your service with Symfony Process Component, and with that having an asynchronous service with a response (or exception) during request / response context.

For that you just have to call method getProcessInstance like this:

// 1. Standard way:
$process = $this->get('krlove.async')
                ->getProcessInstance('app.service.awesome', 'doSomething', [1, 'string', ['array']);

// and to run asynchronously
$process->start();

// ... do other things

$process->wait();

// ... do things after the process has finished
$result = $process->getOutput();

// 2. With callback function after service finishes:
$process = $this->get('krlove.async')
                ->getProcessInstance('app.service.awesome', 'doSomething', [1, 'string', ['array']);

// and to run asynchronously
$result = null;
$process->start(function ($res) use($process, &$result) {
                    $result = $process->getOutput();
                });

// ... do other things

$process->wait();

// you now have result from async service call available at $result variable.

You have more information about Symfony Process Component here


All versions of async-service-call-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=7.3
symfony/framework-bundle Version ~5.0
symfony/console Version ~5.0
symfony/monolog-bundle Version ^3.5
symfony/process Version ^5.0
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 ruth/async-service-call-bundle contains the following files

Loading the files please wait ....