你好,我在看如何用cronjob执行控制器函数。我已经阅读了文档,但它并没有解释如何调用控制器函数。
我的职能是:
function oracle(Request $request)
{
// some get-insert statements using DB Facade
}
假设我希望对状态=0的每个db记录每10分钟运行一次这个函数
然后在laravel调度器中,类似于:
$schedule->call(function () {
//.. DB query to check all orders that have status =
我想要很少的建议,同时考虑对我们当前的数据库,即SQL Server 2012标准版本的azure。目前我们正在使用aws来管理我们的数据库,最近我们一直在考虑为我们的大型prod数据库使用活动读副本,但是看起来AWS没有针对MS SQL Server的read副本选项,而只有CDC(change data Capture )选项,这并不能解决我们的需求,因为CDC涉及手动加载除表及其主要索引之外的所有其他东西,而对于Aurora或mySQL,它们有正确的read副本选项。因此,我们想知道Azure女士在这种情况下是否会对我们更好。
提前感谢!
我已经配置了在开发环境中没有读取副本的多个AZ RDS mysql实例,并且我正在通过重新启动DB实例来测试多个AZ RDS失败。
下面的是我的观察:在RDS故障转移期间,客户端应用程序不会失去连接,但同时它也无法访问数据库,一旦故障转移完成,客户端将能够访问数据库。
更新1:上面观察到的是wrong.What,我刚才观察到的是,在故障转移完成之后,我会出现低于错误的结果,从而导致连接终止。
ERROR 2003 (HY000): Can't connect to MySQL server on 'rds-test.czswqpewzqas.---------.amaz
我们在我们的系统上使用复制的AWS。
对于不修改数据的查询,这会自动切换到复制数据库。
但是,我们有一个调用MySQL函数的查询,该函数确实修改了数据库。该函数仅创建一个具有唯一ID的占位符记录,并通过select语句返回该记录。类似于:
“选择GenerateUniqueID()”
函数定义:
SELECT MAX(lngInvoiceID)
INTO @lngMaxInvoiceID
FROM invoice_table
WHERE GlobalConfigID=in_GlobalConfigID
FOR UPDATE;
SET @lngNewInvoiceID=COALESCE(@lng