Flexget task error when daemon is started, works manually though

OS: Debian (in a Docker)
Flexget version: 3.5.1

If i dont enable the daemon and simply call flexget via cronjob, everything works fine.
however when i enable the daemon to enable the web ui. While the web UI works fine, My flexget cron doesnt execute normally. I see the following in flexget log

2020-04-20 21:52:02 ERROR manager Task queue has died unexpectedly. Restarting it. Please open an issue on Github and include any previous error logs

I have tried setting a schedule in flexget config but that doesn work either. The only way for me to get it work is to stop the flexget daemon/web ui and just let regular linux cron do its thing.

here is my flexget config

web_server:
  bind: 0.0.0.0
  port: 3539
  web_ui: yes
  base_url: /

schedules: no

templates:
  global:
    notify:
      entries:
        via:
           - pushbullet:
               api_key: ddddddddddddddd
               device: dddddddddddddddd

  tv:

    private_torrents: no
    magnets: yes
    content_filter:
      require_mainfile: yes
      reject: '*.rar'


    series:
      settings:
        tv:
          propers: 1 days
          set:
            path: /volume1/data/Shows/{{series_name}}/S{{ series_season }}
            magnetization_timeout: 60
            main_file_only: yes
            content_filename: "{{ series_name|replace(' ','.') }}.{{ series_id }}"
            exists_series:
              - /volume1/data/Downloads/
              - /volume1/data/Shows/

      tv:
       - Top Gear

    transmission:
      enabled: yes
      host: 10.0.0.4
      port: xxxx
      username: xxxx
      password: xxxx


tasks:

  showsrss_torrent:
    priority: 1
    rss: https://showrss.info/user/xxxxxx
    template: tv
    verify_ssl_certificates: no

  showsrss_magnet:
    priority: 2
    rss: http://xxxxxxxxxxxxxxxxxx
    template: tv
    verify_ssl_certificates: no

To add. This is what i found on flexget site. Perhaps there is some bug in this functionality and the cron/manual execute job is not getting queued properly.

If you run flexget execute while a daemon is running, the execution will be sent to the running daemon, and either run immediately, or queued for execution after the current running task has finished. The log results of this execution will be sent back to the calling terminal for viewing as well. This means that if you are running a daemon, you need not worry about concurrent calls of flexget execute having problems due to the lock file.

I’m not sure why the daemon and cron aren’t getting along, but if you can get it working the built-in scheduler is objectively better anyway-- it gives you really granular control over which tasks run and when. Here’s an example from my config:

schedules:
  - tasks: ['series-trakt-set-begin', 'series-discover', 'series-trakt-clean', 'movies-trakt-list', 'movies-discover', 'movies-trakt-clean']
    interval:
      hours: 1
  - tasks: ['series-file-copy', 'series-file-decompress', 'series-file-move-temp', 'movies-file-decompress', 'movies-file-copy']
    interval:
      minutes: 10