问题标签 [routines]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL Server 自动启动例程
标题几乎说明了一切:我想在 MS SQL Server 中自动启动一个例程。更准确地说,我有一个应该每天运行的例程(在特定条件下从表中删除数据),但我不希望应用程序必须触发这个例程。
SQL Server 中是否有支持这种行为的功能?
dialogflow-es - 将 Dialogflow/Action/Assistant 添加到例程中
我正在尝试将DialogFlow 应用程序与Google 助手(Google 上的操作)集成进行编程。我需要的是在特定时间内在选定的 Google Home 设备上定期执行我的脚本——我设法通过Routines做到了这一点。
不幸的是,Routines 的设置并不像我想象的那么容易(您需要通过几次单击和输入自定义操作名称)。然后我发现可以在助手中询问用户(例行建议),让他用更少的必要步骤进行设置。
但我的实现不起作用:
因为我正在使用WebhookClient
我无法conv.arguments.get('UPDATE_INTENT')
像示例中那样调用。但是我可以通过实现来获得那部分代码,这会导致错误:
是否有人已经使用 Dialogflow 实施了常规建议?
c# - 我有一个合作例程,一旦选择就会播放。但是,如果我再次选择它,则不会发生任何事情。但是它确实第一次起作用
我有一个合作例程,一旦选择就会播放。co 例程将对象放大。它选择的第二个它缩小了对象。
但是,如果我再次选择它,则不会发生任何事情。但是,它确实第一次起作用。
我有一个合作例程,一旦选择就会播放。co 例程将对象放大。它选择的第二个它缩小了对象。
但是,如果我再次选择它,则不会发生任何事情。但是,它确实第一次起作用。
go - 使用 timer.Reset() 的计时器示例未按描述工作
我一直在处理试图让我的第一个“goroutine”运行的示例,当我让它运行时,它不会按照 go 文档中的 timer.Reset() 函数的规定工作。
就我而言,我相信我这样做的方式很好,因为我实际上并不关心 chan 缓冲区中的内容,如果有的话。case <-tmr.C:
所有这一切都是为了在发生任何事情时触发case _, ok := <-watcher.Events:
,然后一切都会安静至少一秒钟。这样做的原因是case _, ok := <-watcher.Events:
可以从一到几十个事件相隔微秒,我只关心它们都完成并且事情再次安定下来。
但是,我担心按照文档中说的“必须做”的方式去做是行不通的。如果我知道 go 更好,我会说文档有缺陷,因为它假设缓冲区中有一些东西可能没有,但我不知道 go 足够好来有信心做出这个决定,所以我希望一些专家出来那里可以启发我。
下面是代码。我没有把它放在操场上,因为我必须做一些清理工作(删除对程序其他部分的调用),而且我不确定如何让它对文件系统更改做出反应以显示它工作。
我已经在代码中清楚地标记了哪些替代方法有效,哪些无效。
raku - 为什么默认的 Raku if/while/loop/when 块都具有相同的标识值 (.WHICH)?
除了我声明签名的块之外,所有块都具有相同的标识值,并且无论它们出现在哪里都声称在第 1 行声明。任何人都可以阐明为什么会这样吗?
c# - c# - 将大列表拆分为较小的子列表
对 C# 相当陌生 - 坐在这里练习。我在一个文件中列出了一个包含 1000 万个密码的文件,我下载了该文件进行练习。
我想将文件分解为 99 个列表。在 99 处停止然后做点什么。然后从它停止的地方开始,并用下一个 99 重复做某事,直到它到达文件中的最后一项。
我可以很好地完成计数部分,它是在 99 处停止并继续我离开的地方是我遇到麻烦的地方。我在网上找到的任何东西都不接近我想要做的事情,我自己添加到这个代码中的任何东西都不起作用。
如果我不清楚,我很乐意分享更多信息。只是询问并会回复,但我可能要到明天才能回复,具体取决于时间。
这是我开始的代码:
我的最终目标是使用我拥有的文件中的任何项目列表来执行此操作。我只使用这个密码列表,因为它很大,并且认为它对这个练习有好处。
谢谢基思
go - Go 例程后关闭冗余 sql.Rows 对象的推荐方法
我正在使用 Go 例程将查询并行发送到 PostgreSQL 主节点和从节点。返回有效结果的第一个主机获胜。错误案例不在此问题的范围内。
调用者是唯一关心*sql.Rows
对象内容的人,所以我的函数故意不对这些内容进行任何操作。我使用缓冲通道从 Go 例程中检索返回对象,因此应该没有 Go 例程泄漏。垃圾收集应该照顾其余的。
有一个问题我没有正确解决:留在通道中的 Rows 对象永远不会关闭。当我从(只读)事务中调用此函数时,tx.Rollback()
为每个非关闭Rows
对象实例返回一个错误:"unexpected command tag SELECT"
.
从更高级别的对象调用此函数:
执行器可以是*sql.DB
,*sql.Tx
或者任何符合接口的东西:
回滚逻辑:
MultiTx
是多个节点上开放交易的集合。它是一个更高级别的对象,它调用multiQuery
“清理”未使用的行的最佳方法是什么?我正在考虑不做的选项:
cancel()
取消上下文:我相信它会不一致地工作,在调用时可能已经返回了多个查询- 创建一个延迟的 Go 例程,该例程继续耗尽通道并关闭行对象:如果 DB 节点响应缓慢,
Rollback()
仍会在之前调用rows.Close()
- 在 MultiTx 类型中的某处使用 a
sync.WaitGroup
,可能与 (2) 结合使用:如果其中一个节点无响应,这可能会导致 Rollback 挂起。另外,我不确定我将如何实现它。 - 忽略回滚错误:忽略错误听起来从来都不是一个好主意,它们的存在是有原因的。
解决此问题的推荐方法是什么?
编辑:
正如@Peter 所建议的那样,我尝试取消上下文,但这似乎也使查询中返回的所有行无效。在rows.Scan
我context canceled
在更高级别的调用者处遇到错误。
这是我到目前为止所做的:
编辑2:
@Adrian 提到:
我们看不到实际使用这些的代码。
此代码由类型方法重用。首先是交易类型。这个问题的问题出现在上面的Rollback()
方法上。
然后是:
这些方法是函数周围的公共包装器multiQuery()
。现在我意识到只是将其发送*Rows
到缓冲通道中死,实际上是内存泄漏。在交易案例中,它变得很清楚,因为Rollback()
开始抱怨。但是在非事务变体中,通道内部永远不会被垃圾收集,因为驱动程序可能会在调用*Rows
之前持有对它的引用。rows.Close()
我已经编写了这个包,供 ORM sqlboiler使用。我的更高级别的逻辑将一个MultiTX
对象传递给 ORM。从那时起,我对返回的Rows
. 一种简单的方法是我的更高级别的代码取消了之前的上下文Rollback()
,但我不喜欢这样:
- 它提供了一个非直观的 API。这种(惯用的)方法会破坏:
- ORM 的接口还指定了常规的、非上下文感知的
Query()
变体,在我的包的情况下,它将针对context.Background()
.
我开始担心这会被设计破坏...无论如何,我将首先实现一个 Go 例程,该例程将耗尽通道并关闭*Rows
. 之后我会看看我是否可以实现一些不会影响返回的合理等待/取消机制*Rows
python - 关于矩阵对角化的 Python 例程
它说它计算了 k 个特征向量和特征值,其中 k 小于矩阵维数,但是是否可以使用它来获得最低的 k 个特征值,或者这些特征值是否在频谱中随机排序?
go - 将 rate.NewLimiter 速率限制器与通道一起使用
我正在使用速率限制器来限制路由的请求数量
请求被发送到一个频道,我想限制每秒处理的数量,但我很难理解我是否设置正确,我没有收到错误,但我不确定我是否我什至在使用速率限制器
这是添加到频道的内容:
这是通道和限制器:
项目被添加到频道:
然后使用 goroutine 处理添加到通道中的所有内容:
有人可以确认发生以下情况:
- execItem 函数在通道的每个成员上每秒运行 4 次
我不明白“err := itemThrottler.Wait(context.Background())”在代码中做了什么,这是如何调用的?
mysql - 为什么我导入 mysqldump 文件时我的所有程序都运行?
我从 cmd 终端执行以下语句来导入我的 MySQL 数据库:
当我从 MySQL Workbench 打开我的 MySQL 数据库时,我意识到创建了更多我不认识的表。基本上,发生了什么是我创建的存储过程/例程似乎自动运行并因此创建了更多表?我不想要这个,我宁愿使用 MySQL 中的“调用”语句执行例程,有没有办法阻止这种情况发生?