kbdev
kbdev

Reputation: 1315

Wagtail "schedule_published_pages" Management Command

I was wondering why my scheduled posts were not working automatically in Wagtail, but I see in the documentation that a management command is needed to make this happen. I am unfamiliar with writing custom management commands, and I am wondering how to make the python manage.py publish_scheduled_pages command fire off automatically every hour?

Where would this code go in the document tree? Is there code that I just need to drop in and it runs from there? Or is something required on the server to run these commands on a schedule?

Any help would be appreciated. I couldn't find any existing code anywhere for this functionality in Wagtail and I'm wondering why the button is in the admin to schedule a post, but the functionality is not already built in?

Upvotes: 1

Views: 1578

Answers (1)

allcaps
allcaps

Reputation: 11228

You are probably familiar with management commands since python manage.py runserver and makemigrations and migrate are management commands.

You can see all available commands with python manage.py -h

publish_scheduled_pages should be called periodically. Form the Wagtail docs:

This command publishes, updates or unpublishes pages that have had these actions scheduled by an editor. We recommend running this command once an hour.

Periodically executing a command can be done in various ways. Via crontab is probably the most common. To edit the crontab:

$ crontab -e

Add (for every fist minute of the hour):

0 * * * * python /path/to/your/manage.py publish_scheduled_pages --settings=your.settings

Upvotes: 3

Related Questions