News are stored in database MySQL with datetime of publication.
Any time user can add a new in the table with delay date publishing.
How to use Celery for listeting database table and check if it is time to publish data?
For publishing data is responsible another process(script Python). So Celery should call this script for each rows in MySQL table according datetime.
How to do that using Celery?
Another way I think to create queue with date and id of publication then directly add data from user form in this queue. Therefore sholud be process(Celery) that observes a queue for further executing tasks by date.
Celery provides documentation for Periodic tasks and Scheduled tasks, but there is no explanation and example how to use it.
Sorry if question is trivial, I am a newcomer in Python Celery.
today()saveor connect to thepost_savesignal, and call your publish task viaapply_async(eta=instance.publish_date). Of course the task itself needs to recheck if the date hasn't changed.