*Note*: Before submitting this pull request, please review our [contributing
guidelines](https://docs.celeryq.dev/en/main/contributing.html).

## Description

<!-- Please describe your pull request.

NOTE: All patches should be made against main, not a maintenance branch like
3.1, 2.5, etc.  That is unless the bug is already fixed in main, but not in
that version series.

If it fixes a bug or resolves a feature request,
be sure to link to that issue via (Fixes #4412) for example.
-->

Fixes #8499.  The `isoparse` from dateutil is more correct about what it supports, handling the 'Z' timezone as well, which earlier versions of Python didn't support.  

I'm not 100% sure where the user is providing the eta as a string to, since apply_async notes it to be a datetime.  If someone can point me to that and a simple test case, I'll add some additional date strings there to catch this in the future.

Replaces datetime.fromisoformat with the more lenient dateutil parser. *Note*: Before submitting this pull request, please review our [contributing
guidelines](https://docs.celeryq.dev/en/main/contributing.html).

## Description

<!-- Please describe your pull request.

NOTE: All patches should be made against main, not a maintenance branch like
3.1, 2.5, etc.  That is unless the bug is already fixed in main, but not in
that version series.

If it fixes a bug or resolves a feature request,
be sure to link to that issue via (Fixes #4412) for example.
-->

Fixes #8499.  The `isoparse` from dateutil is more correct about what it supports, handling the 'Z' timezone as well, which earlier versions of Python didn't support.  

I'm not 100% sure where the user is providing the eta as a string to, since apply_async notes it to be a datetime.  If someone can point me to that and a simple test case, I'll add some additional date strings there to catch this in the future.

"""Worker consumer."""
from .agent import Agent
from .connection import Connection
from .consumer import Consumer
from .control import Control
from .events import Events
from .gossip import Gossip
from .heart import Heart
from .mingle import Mingle
from .tasks import Tasks

__all__ = (
    'Consumer', 'Agent', 'Connection', 'Control',
    'Events', 'Gossip', 'Heart', 'Mingle', 'Tasks',
)

"""Worker consumer."""
from .agent import Agent
from .connection import Connection
from .consumer import Consumer
from .control import Control
from .events import Events
from .gossip import Gossip
from .heart import Heart
from .mingle import Mingle
from .tasks import Tasks

__all__ = (
    'Consumer', 'Agent', 'Connection', 'Control',
    'Events', 'Gossip', 'Heart', 'Mingle', 'Tasks',
)
