有没有办法允许hook_cron
以管理员权限运行——例如某种方式sudo hook_cron()
?
这个问题是我之前的问题的后续,试图诊断为什么 hook_cron() 调用的/drupal/cron.php
函数与/admin/reports/status/run-cron
.
我的特定功能(称为它foo_cron()
)更新用户配置文件作为其夜间职责的一部分。但是,/drupal/cron.php
显然以匿名用户身份运行。由于显而易见的原因,匿名用户无法修改此站点中的用户配置文件字段,因此这部分脚本失败。
我知道我可以通过直接使用 SQL 进行修改来解决这个问题profile_fields
,但这感觉就像一个丑陋的 hack,如果我开始在多个模块中这样做,可能很难维护。
在现有的 Drupal 功能和框架中,是否有一种方法可以使某些 foo_cron() 作业使用我们通常只提供给管理员的权限运行,例如更新配置文件?
这个特定站点正在运行 Drupal 6.1.3。