Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Symfony Cron Bundle Laravel Package

course-hero/symfony-cron-bundle

View on GitHub
Deep Wiki
Context7

README

What is symfony-cron?

symfony-cron is a bundle of utilities for Symfony2 that provide functions related to scheduled tasks run out of a cron context.

Build Status Coverage Status

Requirements

symfony-cron is supported on PHP 5.4+ with Symfony 2.5+.

Installation

The best way to install symfony-cron is to include the bundle using a mechanism such as composer. Information about the package is published to packagist.

Use

To use symfony-cron in a Symfony2-based project, start by defining how you want to use the system. The following checklist might help:

  • What type of lock service will be used? (File, memcached, etc.)
  • Do commands need to be executed in a child process?
    • Processes that unexpectedly terminate cause locks to be unreleased if not executed in a child process, thus preventing future processes from running.

Example: File Lock with Child Process

app/config/config.yml:

services:
    symfony_cron.lock_file_service:
        class: SymfonyCronBundle\Component\Lock\LockFileService
    symfony_cron.default_lock_service: "@symfony_cron.lock_file_service"
    symfony_cron.process_service:
        class: SymfonyCronBundle\Component\Process\ProcessService

crontab:

* * * * * /path/to/script

/path/to/script:

#!/bin/bash

/usr/bin/php \
    /path/to/symfony/app/console \
    cron:single_exec \
        --id /path/to/lock/files/some-unique-file \
        --child_process \
    -- \
        /path/to/child/script \
        --script-option \
        script-args

Example: Multiple Instances of Same Script as Embedded Application

app/config/config.yml:

services:
    symfony_cron.lock_file_service:
        class: SymfonyCronBundle\Component\Lock\LockFileService
    symfony_cron.default_lock_service: "@symfony_cron.lock_file_service"
    symfony_cron.process_service:
        class: SymfonyCronBundle\Component\Process\ProcessService

crontab:

* * * * * /path/to/script instance-1-unique-key parameter-set-1
* * * * * /path/to/script instance-2-unique-key parameter-set-2

/path/to/script:

#!/bin/bash

KEY="$1"
PARAM="$2"

/usr/bin/php \
    /path/to/symfony/app/console \
    cron:single_exec \
        --id ${KEY} \
    -- \
        some:command \
        ${PARAM}

Contributing

symfony-cron is an open source, community-driven project. If you'd like to contribute, please read the Contributing documentation. If you're submitting a pull request, please follow the guidelines in the Submitting a Patch section and use Pull Request Template.

Running Tests

All tests are supported using standard phpunit practices. A helper script has also been provided to assist with running tests.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui