im ussing symfony messanger wiith doctrine handler. I start job example 100 tasks - 100 messages. When it start user get page with progress. Problem is that when user open page - in same time queue start work so somethink happen that when hi open page in queue is 99 tasks - so progressbar stop on 1 and never finish. progressbar is updated by mercue. - first message is send before page is loaded- that i think.
so i think cound rest of tasks - buy... entity dont have routing name so i cannot count tasks - it has only queue_name =always defaut.
here is my messanger config
framework:
messenger:
failure_transport: failed
serializer:
default_serializer: messenger.transport.symfony_serializer
symfony_serializer:
format: json
context: {}
transports:
# https://symfony.com/doc/current/messenger.html#transport-configuration
async:
dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
options:
use_notify: true
check_delayed_interval: 60000
retry_strategy:
max_retries: 3
multiplier: 2
shipping:
dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
options:
use_notify: true
check_delayed_interval: 60000
retry_strategy:
max_retries: 3
multiplier: 2
fulfilment:
dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
options:
use_notify: true
check_delayed_interval: 60000
retry_strategy:
max_retries: 3
multiplier: 2
failed: 'doctrine://default?queue_name=failed'
# sync: 'sync://'
routing:
Symfony\Component\Mailer\Messenger\SendEmailMessage: async
Symfony\Component\Notifier\Message\ChatMessage: async
Symfony\Component\Notifier\Message\SmsMessage: async
App\Message\ShippingMessage: shipping
App\Message\ShippedMessage: fulfilment
# Route your messages to the transports
# 'App\Message\YourMessage': async
so problem is know how big is qeue. i can make new entity jobs , and put there total task, outstanding task but i think maybe is possible to simple make progress bar for - messanger and merure ?
like i see doctrine dont use doctrine entity for save message - so I cannot use prePersist and add routeName to messenger_messages column so have easy count.