Celery Alternative for Windows

Hello i want to know why my tasks are being registred but not acceded within celery these are the logs :

 celery -A celery_app worker --loglevel=info --pool=solo
Registered tasks: {'celery.chunks': <@task: celery.chunks of celery_app at 0x1b93d8b9cf0>, 'celery.chord_unlock': <@task: celery.chord_unlock of celery_app at 0x1b93d8b9cf0>, 'celery.group': <@task: celery.group of celery_app at 0x1b93d8b9cf0>, 'celery.map': <@task: celery.map of celery_app at 0x1b93d8b9cf0>, 'celery.chain': <@task: celery.chain of celery_app at 0x1b93d8b9cf0>, 'celery.backend_cleanup': <@task: celery.backend_cleanup of celery_app at 0x1b93d8b9cf0>, 'utils.hashcat.run_hashcat': <@task: utils.hashcat.run_hashcat of celery_app at 0x1b93d8b9cf0>, 'celery.starmap': <@task: celery.starmap of celery_app at 0x1b93d8b9cf0>, 'celery.chord': <@task: celery.chord of celery_app at 0x1b93d8b9cf0>, 'celery.accumulate': <@task: celery.accumulate of celery_app at 0x1b93d8b9cf0>}
Task 'run_hashcat' is registered correctly.
 
 -------------- celery@user v5.3.6 (emerald-rush)
--- ***** -----
-- ******* ---- Windows-10-10.0.22631
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app:         celery_app:0x1b93d8b9cf0
- ** ---------- .> transport:   redis://localhost:6379/0
- ** ---------- .> results:     redis://localhost:6379/0
- *** --- * --- .> concurrency: 16 (solo)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery


[tasks]
  . utils.hashcat.run_hashcat

[2024-04-18 15:19:42,013: WARNING/MainProcess] 
venvv\lib\site-packages\celery\worker\consumer\consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
whether broker connection retries are made during startup in Celery 6.0 and above.
If you wish to retain the existing behavior for retrying connections on startup,
you should set broker_connection_retry_on_startup to True.
  warnings.warn(

[2024-04-18 15:19:42,029: INFO/MainProcess] Connected to redis://localhost:6379/0
[2024-04-18 15:19:42,030: WARNING/MainProcess] 
\lib\site-packages\celery\worker\consumer\consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
whether broker connection retries are made during startup in Celery 6.0 and above.
If you wish to retain the existing behavior for retrying connections on startup,
you should set broker_connection_retry_on_startup to True.
  warnings.warn(

[2024-04-18 15:19:42,032: INFO/MainProcess] mingle: searching for neighbors
[2024-04-18 15:19:43,045: INFO/MainProcess] mingle: all alone
[2024-04-18 15:19:43,053: INFO/MainProcess] celery@user ready.
[2024-04-18 15:21:41,047: ERROR/MainProcess] Received unregistered task of type 'run_hashcat'.
The message has been ignored and discarded.

Did you remember to import the module containing this task?
Or maybe you're using relative imports?

Please see
https://docs.celeryq.dev/en/latest/internals/protocol.html
for more information.

The full contents of the message headers:
{'lang': 'py', 'task': 'run_hashcat', 'id': 'ac86ba0b-bd59-4c36-8470-fdb9519a0404', 'shadow': None, 'eta': None, 'expires': None, 'group': None, 'group_index': None, 'retries': 0, 'timelimit': [None, None], 'root_id': 'ac86ba0b-bd59-4c36-8470-fdb9519a4555', 'parent_id': None, 'argsrepr': "[{'type': '8954', 'hash_file_path': 2024_04_18_15_21_40.txt', 'wordlist_path': '2024_04_18_15_21_40.txt'}]", 'kwargsrepr': '{}', 'origin': 'gen22080@user', 'ignore_result': False, 'replaced_task_nesting': 0, 'stamped_headers': None, 'stamps': {}}

The delivery info for this task is:
{'exchange': '', 'routing_key': 'celery'}
Traceback (most recent call last):
  File "\venvv\lib\site-packages\celery\worker\consumer\consumer.py", line 658, in on_task_received
    strategy = strategies[type_]
KeyError: 'run_hashcat'

and this is the celery worker code :

from celery import Celery
import os
from dotenv import load_dotenv

load_dotenv()

celery = Celery(
    'celery_app',
    backend=os.getenv('REDIS_URL'),
    broker=os.getenv('REDIS_URL')
)

celery.conf.update(
    result_expires=3600,
)

from utils.hashcat import run_hashcat

registered_tasks = celery.tasks
print(registered_tasks)

if 'utils.hashcat.run_hashcat' in registered_tasks:
    print("Task 'run_hashcat' is registered correctly.")
else:
    print("Task 'run_hashcat' is not registered.")

if __name__ == "__main__":
    celery.start()

and for utils.hashcat i added @celery.task

and using this to trigger the task from the controller

job = celery.send_task('run_hashcat', args=[job_data])

Question short does it work for windows else is there an alternative for it ?