not working delay for large number seconds(next hour, day, ...)
Hi. When i try add litte number seconds in param delay - it working, i await and get execute planing task.
But if i try add large number seconds(next 1 day, next 1 week and etc.) then when the time expires, I do not receive the task execution :(
In dramatiq, everything works.
Ignoring even for 3 minutes
Hi. Sorry for long reply. Instead of using delay which is implemented using hack over AMQP, for large delays please consider using schedulers. Currently we can offer Redis scheduler as a dynamic scheduler which you can populate in runtime.
https://github.com/taskiq-python/taskiq-redis/blob/09e835e4bfbd9e9a50ea4de440d23e6f2e4c5fd1/taskiq_redis/schedule_source.py#L12
Ok, thank you
Try use rabbitmq-delayed-message-exchange-plugin.
https://github.com/taskiq-python/taskiq-aio-pika?tab=readme-ov-file#retries-with-rabbitmq-delayed-message-exchange-plugin
Hi. Sorry for long reply. Instead of using delay which is implemented using hack over AMQP, for large delays please consider using schedulers. Currently we can offer Redis scheduler as a dynamic scheduler which you can populate in runtime.
https://github.com/taskiq-python/taskiq-redis/blob/09e835e4bfbd9e9a50ea4de440d23e6f2e4c5fd1/taskiq_redis/schedule_source.py#L12
Hey, I really appreciate this library. I’m coming from Celery, and I really like the library’s design. Just one simple question: does it support RabbitMQ for scheduling natively, or will that be available in an upcoming update?
It does support it. You can use delay label for the task in order to send it delayed.
It does support it. You can use
delaylabel for the task in order to send it delayed.
Thanks for the reply. Just to clarify, I want to create a background task that runs at intervals, like a cron job.
In that case, I'd suggest you to use scheduler. It supports cron schedules.
It looks like the original question has been answered. So I'll close this issue.