问题标签 [locked]

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.

0 投票
4 回答
9453 浏览

python - Python / SQLite - 尽管超时时间很大,但数据库仍被锁定

我确定我遗漏了一些非常明显的东西,但我无法终生阻止我的 pysqlite 脚本因数据库被锁定错误而崩溃。我有两个脚本,一个用于将数据加载到数据库中,一个用于读取数据,但两者都会频繁且立即崩溃,具体取决于另一个在任何给定时间对数据库执行的操作。我将两个脚本的超时设置为 30 秒:

并且认为我可以看到一些超时的证据,因为我得到了似乎是时间戳(例如 0.12343827e-06 0.1 - 我如何停止打印?)偶尔在我的诅咒格式输出屏幕中间转储,但在 30 秒超时附近没有任何延迟,但其中一个仍然会因此一次又一次地崩溃。我在 64 位 4 CPU HS21 IBM 刀片上运行RHEL 5.4,并且听说过一些关于多线程问题的提及,但不确定这是否相关。使用的软件包是 sqlite-3.3.6-5 和 python-sqlite-1.1.7-1.2.1,升级到 Red Hat 官方规定之外的新版本对我来说不是一个好选择。可能,但由于一般环境而不可取。

autocommit=1以前在这两个脚本中都有过,但后来都禁用了,我现在正在cx.commit()插入脚本,而不是在选择脚本上提交。最终,由于我只有一个脚本实际进行了任何修改,我真的不明白为什么会发生这种锁定。我注意到,随着时间的推移,当数据库变得更大时,情况会变得更糟。它最近是 13 MB,有 3 个大小相同的表,大约是 1 天的数据量。创建一个新文件显着改善了这一点,这似乎可以理解,但最终似乎并没有遵守超时。

任何指针都非常感谢。

编辑:自从询问以来,我已经能够稍微重构我的代码并使用信号在每 5 秒一次事务中定期写入 0 到 150 次更新。这显着减少了锁定的发生率,减少到每小时不到一次,而不是每分钟一次左右。我想我可以通过确保在读取其他脚本中的数据时将写入数据的时间偏移几秒钟来走得更远,但基本上我正在解决一个问题,因为我认为它不需要超时,这并不似乎还是不对。塔。

0 投票
1 回答
1420 浏览

python - 使用锁定纵横比的 Python 调整图像大小

我应该如何使用 Python 脚本调整图像的大小,以便它会自动将高度比率调整为使用的宽度?我正在使用以下代码:

如果图像的纵横比与代码中定义的纵横比相同 - 即 1.33333,则使用此代码非常有效。但是我应该如何让它与没有这个比例的图像一起工作?对我来说,重要的是新的 Width 是 1920;高度必须能够自动调整。有什么想法应该更改我的代码的哪一部分以及如何更改?

0 投票
3 回答
7975 浏览

iphone - 如何在 iPhone 上以锁定模式播放声音

每个人都知道在用户按下锁定按钮(静音)后保持应用程序活跃的标准程序。如果我用 AVAudioPlayer 开始播放声音(在 iPhone 被锁定之前),声音会一直播放到结束(在锁定之后)。该应用程序仍在运行。如果我在 iPhone 锁定时尝试启动另一个声音,它将永远不会播放。所有其他的东西都可以正常工作,但声音却不行。

如何在 iPhone 锁定时播放声音?

0 投票
2 回答
7901 浏览

java - “试图锁定一个已经锁定的目录”使用 SVNANT

我正在使用 SVNANT 在我的 Windows XP 机器上检查我的项目目录。我第一次使用 tortoiseSVN 进行签出.. 结果我收到了与不兼容版本相关的错误消息,所以我不得不使用降级脚本修复它。现在,由于这个不兼容问题,我不能使用 tortoiseSVN 对我的项目文件夹进行任何操作。问题是每次我尝试使用 SVNANT 检查项目时都会收到以下消息:

要解决这个问题需要

svn 清理

但如上所述,我不能使用乌龟。我该如何解决这个问题?

谢谢

0 投票
26 回答
202184 浏览

python - OperationalError:数据库已锁定

我在我的应用程序中做了一些重复的操作(测试它),突然我得到一个奇怪的错误:

我已经重新启动了服务器,但错误仍然存​​在。这到底是怎么回事?

0 投票
6 回答
2825 浏览

vb.net - 如何关闭锁定的 PC (vb.net)?

在 vb.net 中关闭电脑很容易:

除非用户已锁定电脑,在这种情况下上述操作失败。

我如何在 vb.net 中解决这个问题?如何关闭锁定的 PC?

该程序将在本地运行。

0 投票
0 回答
941 浏览

sqlite - Adobe Air SQLite 同步繁忙超时/SQLite 并发访问/避免繁忙循环

这是我在此的头一篇博文。我之所以问,是因为我没有线索,也找不到有关此特定问题的任何信息。

我的问题是:在 Adob​​e AIR 中,有没有办法进行同步 usleep() 等效(延迟执行 200 毫秒),或者有没有办法在某处指定 SQLite 繁忙超时?

我有一个 AIR 应用程序,它以同步模式使用数据库,因为代码无法处理 SQL 查询中的事件/回调需求。

有时从另一个应用程序访问数据库,因此它很忙。因此,语句的 execute() 会抛出 SQLerror 3119 detail 2206。在这种情况下,应在短暂延迟后重试该命令。

由于计算机上正在运行另一个应用程序,因此我想尽量避免忙于等待,但是由于三件事,我一直坚持使用它:

首先,我无法找到一种方法给 SQLConnection 一个繁忙的超时值,就像在 C 中可以使用函数 sqlite3_busy_timeout()

其次,我无法在 Adob​​e AIR / Actionscript 中找到与 C usleep() 命令等效的命令。

第三,我无法在这个位置使用事件/计时器/回调等。SQL execute() 必须是同步的,因为它是从应用程序中无数地方的深层嵌套类和函数调用的。

如果应用程序可以在执行 SQL 时处理事件/回调,那么无论如何我都会使用异步数据库,所以这个问题不能使用事件来解决。重试必须在最低级别完成,而不使用 AIR 事件处理工具。

最低级别的代码如下所示:

此函数的一个示例用法是:

此代码的输出类似于:

阅读:应用程序每秒循环超过 500 次。我想以某种方式将其减少到 5 个循环以减少等待时的 CPU 负载,因为该应用程序应在使用电池时在笔记本电脑上运行。

谢谢。

-蒂诺

0 投票
1 回答
2189 浏览

mysql - 高 Mysql 负载 - CPU 360%

我的 mysql cpu 使用率很高,在服务器上 Intel(R) Xeon(R) CPU E5520 @ 2.27GHz 16 核处理器和 16 GB ram 在 centos 5.4 上运行

服务器 500 - 900 的平均负载,这真的是高数字

这里有一些信息可以帮助我们

mysql配置文件/etc/my.cnf

===============注意我删除了一些查询因为我不能在这里发布超过 30000 个字符===================== =================

==================================================== ==

==================================================== ==

==================================================== ==

==================================================== ==

==================================================== ==

我希望这些信息都是解决此问题所必需的

注意:此命令在服务器负载 180 - 350 时执行

谢谢

0 投票
4 回答
5422 浏览

svn - 我的 SVN 存储库已将我锁定!

我似乎陷入了无限的 SVN 循环,因为它是......

我的存储库位于本地 /Users/Jack/MySite.co.uk/

问题是,该.svn文件夹似乎已被意外删除/Users/Jack/MySite.co.uk/images/png,因此触发了错误svn: '/Users/Jack/Sites/MySite.co.uk/images/png' is not a working copy directory...

我尝试做的是:

svn --force delete /Users/Jack/Sites/MySite.co.uk/images/png

其中说svn: Working copy '/Users/Jack/Sites/MySite.co.uk/images' locked. Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

因此,我按照说明执行此操作:

svn cleanup /Users/Jack/Sites/MySite.co.uk/

Subversion 回应:'/Users/Jack/Sites/MySite.co.uk/images/png' is not a working copy directory

如果这令人困惑,我很抱歉,但是,我也很困惑!有什么简单的方法可以解决这个问题吗?我已经尝试svn add了有问题的文件夹,它告诉我/images/ is locked。哈伦普!

谢谢,

杰克

0 投票
1 回答
1194 浏览

c - 当另一个程序访问它时解锁 SQLite 数据库的方法?

我在 Linux 中使用 sqlite3,但我目前遇到了问题。我有一个数据库和 2 个表:db1 和 db2。db1 有 3 列:empID、empName、empAddr。db2 只有 1 列:empID,其值默认设置为 0。

我创建了一个 C 程序,它不断地轮询第二个数据库 db2 以了解 empID 值的任何变化。根据 db2 中 empID 的新值,程序从 db1 中获取相应的信息。例如,如果 db2 中 empID 的值更改为 1,则程序会从 db1 中查找与等于 1 的 empID 对应的信息(empName 和 empAddr)。但是当我运行 2 个终端时:1 用于手动更改值db2 中的empID 和另一个1 用于运行C 程序,我遇到了锁定数据库的问题。当程序运行并访问数据库时,我想更改 db2 中 empID 的值,但我知道由于我的 C 程序正在访问它,我无法更新 empID 的值(除非我关闭运行程序的终端)。所以我的问题是,当我通过程序访问 db2 时,有没有办法更新/更改 db2 中 empID 的值?答案将不胜感激。谢谢你。