alchemy-fr/Phraseanet

Upgrade from 3.8.8 > 4.0 > 4.1: Scheduler does not start

frague59 opened this issue · 5 comments

Hi,
I'm finishing an upgrade a Phraseanet 3.8.8 to 4.1, using an intermediate 4.0, from debian 8 to debian 9. I'll stay on a debian 9 because of php 7.0 not available in debian 10.

I've almost finished my upgrade, the application front works fine, but the scheduler fails to start.

scheduler-2020-11-06.log

It seems the problems come from the lack of a jeton field somewhere.

I have an 500 error in the Admin > Task manager in front too - when I try to start the scheduller.

Have you any idea on how to fix it ?

Thanks for this great application !

It seems the indexing task is faulty.

This error appears in Phraseanet 4.1, on a debian 9 server.

$ php --version 
PHP 7.0.33-0+deb9u10 (cli) (built: Oct  6 2020 17:08:28) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-0+deb9u10, Copyright (c) 1999-2017, by Zend Technologies
# ./bin/console -V

  _____  _    _ _____            _____ ______          _   _ ______ _______
 |  __ \| |  | |  __ \    /\    / ____|  ____|   /\   | \ | |  ____|__   __|
 | |__) | |__| | |__) |  /  \  | (___ | |__     /  \  |  \| | |__     | |
 |  ___/|  __  |  _  /  / /\ \  \___ \|  __|   / /\ \ | . ` |  __|    | |
 | |    | |  | | | \ \ / ____ \ ____) | |____ / ____ \| |\  | |____   | |
 |_|    |_|  |_|_|  \_|_/    \_\_____/|______/_/    \_\_| \_|______|  |_|
  _  __                 _       _  __                             _
 | |/ /___ _ _  ___ ___| |___  | |/ /___ _ __  _ __  __ _ _ _  __| |___ _ _
 | ' </ _ \ ' \(_-</ _ \ / -_) | ' </ _ \ '  \| '  \/ _` | ' \/ _` / -_) '_|
 |_|\_\___/_||_/__/\___/_\___| |_|\_\___/_|_|_|_|_|_\__,_|_||_\__,_\___|_|

 Phraseanet Copyright (C) 2004 Alchemy
 This program comes with ABSOLUTELY NO WARRANTY.
 This is free software, and you are welcome to redistribute it
 under certain conditions; type `about:license' for details.

 KONSOLE KOMMANDER version Buxus 4.1.2

Hello, thank for your PR !
No need for indexing task anymore, you can stop and destroy it.
Please also note that the scheduler is replaced by worker and scheduler will be removed in future releases.
see in admin GUI the worker section.
The worker takes in charge

  • subdefinition building.
  • metadata writing.
  • Indexation job.
  • Exporting record.
  • Record deletion etc ...

You need to stop and/or delete the corresponding task in the scheduler before starting the worker.
The worker requires a RabbitMQ, see configuration file worker section in config/configuration.yml for setup
To start the worker, play the cmd bin/console worker:execute.

Check also our docker and docker-compose deployment which is simpler for installation.
https://github.com/alchemy-fr/Phraseanet#phraseanet-with-docker

Ok then, I'll use the worker system instead of scheduler.

I'll stay with my os-wide (aka. without docker) install, as it is a server migration from a previous install, with about 60000 photos in it.
I've build a bunch of ansible scripts to perform the upgrade smoothly, I've planed the real migration next tuesday.

I can't see any way to start the workers from the web ui, Does I have to build a systemd service for that ?
Thanks !

Hi ,

Here is my phraseanet-workers.service.j2 ansible template :

[Unit]
Description=Phraseanet workers
Requires=mariadb.service,rabbitmq-server.service

[Service]
Type=simple
User={{ apache_default_user }}
Group={{ apache_default_group }}
WorkingDirectory={{ phraseanet_root }}
ExecStart={{ php_exec }} {{ phraseanet_root }}/bin/console --no-ansi --quiet worker:execute
PIDFile=/var/run/phraseanet-workers.pid
Restart=always

[Install]
WantedBy=multi-user.target

The {{ var }} are replaced on deployment by the right values.

Thanks !