自動実行ジョブに非推奨とありましたので、以下を参考にタスクのスケジュール実行を試してみました。
https://documentation.concretecms.org/user-guide/running-site/tasks/advanced-task-scheduling
-
[自動化設定]で[スケジューラー]を[有効]に設定
-
1 の schedule:run コマンドを毎分実行するよう crontab に追加
エックスサーバーの[Cron 設定]では、毎分実行は推奨しない旨の警告が表示されますが、[コマンド]に以下を登録すると動作しました。
/usr/bin/php7.4 /home/サーバーID/ドメイン名/public_html/concrete/bin/concrete concrete:scheduler:run >> /dev/null 2>&1 -
[タスク]で[Schedule Recurring Task]に以下を追加
お試しなので色々追加してみました。
- キャッシュをクリア
- ファイル再スキャン
- 古いページバージョンを削除
- サムネイル生成
- サイトマップの生成
- コンテンツのインデックス再作成(Clear Index はい、インデックス再構築 はい)
- 統計トラッカー更新
設定した時刻を見計らって[タスク]をリロードすると、[コンテンツのインデックス再作成]が完了していません。
[アクティビティ]を見ると[Currently Running]の表示が以下で止まっています。
Reindex Content
316 / 562
このタスクを[Now]で実行してみると最後まで実行されました。
スケジュールで実行した際のログの最終行は以下のようになっており、この ID のページは下書きでした。
Reindexing page ID: 382
この下書きを削除して再度実行すると、今度はゴミ箱にある下書きで止まりました。
下書きとゴミ箱を空にすると完了できました。
別のサイトでは[サムネイル生成]が完了できませんでした。
Google 翻訳を頼りにどうにか設定してみましたが、タスクをスケジュールで実行する手順はこれで問題ないでしょうか。
また途中で止まったままになっている[Currently Running]の表示を消すことはできますでしょうか。
Concrete CMS バージョン
9.1.1
PHP バージョン
7.4.x
サーバー
エックスサーバー