2017 © Pedro Peláez
 

symfony-bundle job-queue-bundle

image

aureja/job-queue-bundle

  • Saturday, November 26, 2016
  • by Tadcka
  • Repository
  • 1 Watchers
  • 0 Stars
  • 12,393 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 3 Open issues
  • 4 Versions
  • 3 % Grown

The README.md

JobQueueBundle

Symfony bundle using Aureja/JobQueue for job queues management., (*1)

Installation

Step 1. Install via Composer, (*2)

composer require aureja/job-queue-bundle "dev-master"

Step 2. Add to AppKernel.php, (*3)

class AppKernel extends Kernel
{
    /**
     * {@inheritdoc}
     */
    public function registerBundles()
    {
        $bundles = [
             // ...
             new Aureja\Bundle\JobQueueBundle\AurejaJobQueueBundle(),
             // ...
        ];
    }
}

Step 3. Define your entities by extending Aureja models or implementing the interfaces, (*4)

<?php
// src/Acme/YourBundle/Entity/JobReport.php

namespace Acme\YourBundle\Entity;

use Aureja\JobQueue\Model\JobReport as BaseJobReport;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="aureja_job_report")
 */
class JobReport extends BaseJobReport
{
    /**
     * {@inheritdoc}
     *
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * {@inheritdoc}
     *
     * @ORM\ManyToOne(targetEntity="Acme\YourBundle\Entity\JobConfiguration")
     * @ORM\JoinColumn(name="configuration_id", nullable=false, onDelete="CASCADE")
     */
    protected $configuration;

    // Your custom logic if needed.
}

<?php
// src/Acme/YourBundle/Entity/JobConfiguration.php

namespace Acme\YourBundle\Entity;

use Aureja\JobQueue\Model\JobConfiguration as BaseJobConfiguration;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="aureja_job_configuration")
 */
class JobConfiguration extends BaseJobConfiguration
{
    /**
     * {@inheritdoc}
     *
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    // Your custom logic if needed.
}

Step 4. Update your database schema, (*5)

Step 5. Configure via app/config/config.yml, (*6)

# app/config/config.yml

aureja_job_queue:
    db_driver: orm
    class:
        model:
            job_configuration: Acme\YourBundle\Entity\JobConfiguration
            job_report: Acme\YourBundle\Entity\JobReport

    # Define queues as an array or as a string with values separated by a comma.
    queues:
        - default

Step 6. Import AurejaJobQueue routing files, (*7)

# app/config/routing.yml

aureja_job_queue:
    resource: "@AurejaJobQueueBundle/Resources/config/routing.xml"

Step 7. Register cronjob to be executed every minute, (*8)

* * * * * php app/console aureja:job-queue:run

The Versions

26/11 2016

dev-integrate-new-version-lib

dev-integrate-new-version-lib

  Sources   Download

MIT

The Requires

 

The Development Requires

by Tadas Gliaubicas

20/11 2016

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

 

The Development Requires

by Tadas Gliaubicas

20/11 2016

v0.1.1

0.1.1.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Tadas Gliaubicas

21/04 2016

v0.1.0

0.1.0.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Tadas Gliaubicas