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

Crontab Bundle Laravel Package

bentools/crontab-bundle

View on GitHub
Deep Wiki
Context7

Crontab Bundle CI Workflow

An easy way to generate a crontab based on the application path.

Unlike similar Symfony bundles, this one does not provide a worker, it actually replaces the user's crontab.

⚠️ Do not use this if your user's crontab may by altered by another process!

[!IMPORTANT]
This repository is no longer maintained and may be removed in a near future. You may consider creating a fork if you still require it.

Installation

This bundle is compatible with Symfony 4/5+. Use 0.1.* tag for earlier versions compatibility.

composer require bentools/crontab-bundle 0.2.*

With Symfony Flex, you're already done!

Usage

Create a sample crontab in config/crontab.dist:

# config/crontab.dist

0 0 * * * php {%kernel.project_dir%}/bin/console your:favorite:command

As you can see, {%kernel.project_dir%} is a container parameter. It will be replaced at runtime with its current value. You can use any container parameter wrapped with curly braces.

Preview

This will give you a preview of your crontab:

php bin/console crontab:update --dry-run --dump

Apply

To apply your crontab, run this:

php bin/console crontab:update

Now if you execute crontab -l in your shell you should see something like this:

0 0 * * * php /home/me/my-project/bin/console your:favorite:command

FAQ

Can I use any container parameter?

Yes.

I don't want the dist file to be config/crontab.dist. Can I change that?

Sure: create a config/packages/bentools_crontab.yaml and change the dist_file parameter:

bentools_crontab:
    dist_file: '%env(CRONTAB_SAMPLE_FILE)%' # That's an example.

What are the command options?

--no-interaction # Skip confirmation question
--dry-run # Do not update crontab for real
--output-file=/path/to/generated_crontab # Change output file (which is a tmp file by default)
--dump # Show generated crontab content

I already have a crontab for the user running my app. Will it replace it?

Yes. Use this bundle only if you consider it to be the only crontab entry point.

Tests

./vendor/bin/pest

License

MIT

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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky