harvard-lil/capstone

Celery error in dev

rebeccacremona opened this issue · 2 comments

capstone % docker compose exec web fab run
Starting: watchmedo auto-restart -d ./ -p '*.py' -R -- celery worker -A config.celery.app -c 1 -B
[localhost] local: python manage.py runserver 0.0.0.0:8000 --nostatic
Traceback (most recent call last):
  File "/usr/local/bin/watchmedo", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/site-packages/watchdog/watchmedo.py", line 576, in main
    parser.dispatch()
  File "/usr/local/lib/python3.7/site-packages/argh/helpers.py", line 55, in dispatch
    return dispatch(self, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/argh/dispatching.py", line 174, in dispatch
    for line in lines:
  File "/usr/local/lib/python3.7/site-packages/argh/dispatching.py", line 277, in _execute_command
    for line in result:
  File "/usr/local/lib/python3.7/site-packages/argh/dispatching.py", line 231, in _call
    result = function(namespace_obj)
  File "/usr/local/lib/python3.7/site-packages/watchdog/watchmedo.py", line 553, in auto_restart
    observe_with(observer, handler, args.directories, args.recursive)
  File "/usr/local/lib/python3.7/site-packages/watchdog/watchmedo.py", line 116, in observe_with
    observer.start()
  File "/usr/local/lib/python3.7/site-packages/watchdog/observers/api.py", line 260, in start
    emitter.start()
  File "/usr/local/lib/python3.7/site-packages/watchdog/utils/__init__.py", line 110, in start
    self.on_thread_start()
  File "/usr/local/lib/python3.7/site-packages/watchdog/observers/inotify.py", line 121, in on_thread_start
    self._inotify = InotifyBuffer(path, self.watch.is_recursive)
  File "/usr/local/lib/python3.7/site-packages/watchdog/observers/inotify_buffer.py", line 35, in __init__
    self._inotify = Inotify(path, recursive)
  File "/usr/local/lib/python3.7/site-packages/watchdog/observers/inotify_c.py", line 189, in __init__
    Inotify._raise_error()
  File "/usr/local/lib/python3.7/site-packages/watchdog/observers/inotify_c.py", line 432, in _raise_error
    raise OSError(err, os.strerror(err))
OSError: [Errno 38] Function not implemented

As of Jan 4 2023, the owner of watchdog says "The only solution is to switch to arm64-capable, eventually multi-arch, images." gorakhargosh/watchdog#838

Ah, right, we are running in amd64 emulation mode. Which is why Perma, which also uses watchmedo, is fine.

Well-sleuthed!