]
))->setFactory('CRM_Utils_Cache::create')->setPublic(TRUE);
+ // Memcache is limited to 1 MB by default, and since this is not read often
+ // it does not make much sense in Redis either.
+ $container->setDefinition('cache.extension_browser', new Definition(
+ 'CRM_Utils_Cache_Interface',
+ [
+ [
+ 'name' => 'extension_browser',
+ 'type' => ['SqlGroup', 'ArrayCache'],
+ ],
+ ]
+ ))->setFactory('CRM_Utils_Cache::create')->setPublic(TRUE);
+
$container->setDefinition('sql_triggers', new Definition(
'Civi\Core\SqlTriggers',
[]
$bootServices['paths'] = new \Civi\Core\Paths();
$bootServices['dispatcher.boot'] = new CiviEventDispatcher();
+ $bootServices['dispatcher.boot']->addListener('civi.queue.runTask.start', ['CRM_Upgrade_DispatchPolicy', 'onRunTask']);
// Quality control: There should be no pre-boot hooks because they make it harder to understand/support/refactor.
// If a pre-boot hook sneaks in, we'll raise an error.
'/^hook_/' => 'not-ready',
'/^civi\./' => 'run',
];
- $mainDispatchPolicy = \CRM_Core_Config::isUpgradeMode() ? \CRM_Upgrade_DispatchPolicy::get('upgrade.main') : NULL;
$bootServices['dispatcher.boot']->setDispatchPolicy($bootDispatchPolicy);
$class = $runtime->userFrameworkClass;
\CRM_Extension_System::singleton()->getClassLoader()->register();
\CRM_Extension_System::singleton()->getMixinLoader()->run();
\CRM_Utils_Hook::singleton()->commonBuildModuleList('civicrm_boot');
- $bootServices['dispatcher.boot']->setDispatchPolicy($mainDispatchPolicy);
+ $bootServices['dispatcher.boot']->setDispatchPolicy(\CRM_Core_Config::isUpgradeMode() ? \CRM_Upgrade_DispatchPolicy::pick() : NULL);
$runtime->includeCustomPath();
}
else {
- $bootServices['dispatcher.boot']->setDispatchPolicy($mainDispatchPolicy);
+ $bootServices['dispatcher.boot']->setDispatchPolicy(\CRM_Core_Config::isUpgradeMode() ? \CRM_Upgrade_DispatchPolicy::pick() : NULL);
}
}