草庐IT

m_Transaction

全部标签

python - GAE/P : Transaction safety with API calls

假设您使用交易来处理Stripe付款并更新用户实体:@ndb.transactionaldefprocess_payment(user_key,amount):user=user_key.get()user.stripe_payment(amount)#APIcalltoStripeuser.balance+=amountuser.put()有可能StripeAPI调用成功但put由于争用而失败。然后将向用户收费,但他的帐户不会反射(reflect)付款。您可以将StripeAPI调用从交易中拉出,然后再进行交易,但您似乎仍然遇到同样的问题。扣款成功但交易失败,用户账户未入账。这似乎是

python - 将 transaction.commit_manually() 升级到 Django > 1.6

我继承了为Django1.4编写的应用程序的一些代码。我们需要更新代码库以使用Django1.7,并最终将1.8作为下一个长期支持版本。在一些地方它使用旧样式@transaction.commit_manually和withtransaction.commit_manually:我对事务的一般了解还不够,但我想了解它们的用途,所以我可以删除它们(如果不需要)或将它们升级到较新的set_autocommit(False)或等价物。我了解到Django数据库连接看起来是这样的,没有特殊的事务管理。(使用Postgres9.3)DATABASES={'default':{'ENGINE':'

python - django 信号是否也包含在 transaction.atomic 装饰器中?

我有一个模型文件,它使用post_save信号在另一个表中创建链接行。以典型的方式,我可以从我的一个View创建一个页面,该页面用@transaction.atomic装饰。我想知道这个装饰器是否会将Page对象的创建和SharedPage对象的创建放在同一个事务中。从django文档中不清楚信号是该原子事务的一部分。模型.pyclassPage(models.Model):name=models.CharField(default='Mydefaultpage',max_length=200,blank=False)created_at=models.DateTimeField(au

python - Django transaction.atomic() 保证原子读+写?

我需要确保从数据库读取并写回的对象不能同时被另一个请求/进程修改。transaction.atomic()能保证吗?到目前为止,我的测试告诉我没有。如果它们没有任何问题,那么实现原子读取和写入的正确方法是什么?我测试过的示例。将Test类放在模型中的某处。atomic_test.py和atomic_test2.py应该保存为管理命令。先运行pythonmanage.pyatomic_test,然后运行​​pythonmanage.pyatomic_test2。第二个脚本不会阻塞,它的更改会丢失。模型.pyclassTest(models.Model):value=models.Inte

MySql报1205:1205 - Lock wait timeout exceeded; try restarting transaction,出现1205如何解决

问题:当在mysql执行一个DDL语句时候,报1205.本来想删除一段时间的数据,语句如下:deletefrompdsw.mt_monitor_result_allwherecreate_date报错如下:1205-Lockwaittimeoutexceeded;tryrestartingtransaction,主要是源数据都是屁了insert的,可能没有提交,资源被占,现在杀掉这个锁住的进程id就OK。主要的解决办法:1.执行 SHOWFULLPROCESSLIST,找到这个语句,最前面有这个语句的id,直接killID,就可以解决。KILLID2.执行select*frominformat

ios - Apple 应用内购买 transaction_id 是全局唯一的吗?

Apple的应用内购买transaction_id是否仅对于给定的应用或产品是唯一的,还是它们实际上是全局唯一的?示例:如果应用程序A存在transaction_id(例如1000000019169002),是否有可能针对第二个应用程序B的不同事务再次返回该transaction_id? 最佳答案 在购买信息中,您将同时获得prodcut_id和transaction_id,因此如果您同时验证两者,则可以保证它是唯一的。不可能单独找到有关transaction_id唯一性的任何信息。您还可以看到In-AppPurchaseProgr

ios - Apple 应用内购买 transaction_id 是全局唯一的吗?

Apple的应用内购买transaction_id是否仅对于给定的应用或产品是唯一的,还是它们实际上是全局唯一的?示例:如果应用程序A存在transaction_id(例如1000000019169002),是否有可能针对第二个应用程序B的不同事务再次返回该transaction_id? 最佳答案 在购买信息中,您将同时获得prodcut_id和transaction_id,因此如果您同时验证两者,则可以保证它是唯一的。不可能单独找到有关transaction_id唯一性的任何信息。您还可以看到In-AppPurchaseProgr

mysql Lock wait timeout exceeded; try restarting transaction

文章目录一、mysql死锁及超时的原因二、mysql死锁排查思路1、showfullprocesslist查询当前数据库全部线程2、information_schema一、mysql死锁及超时的原因当在业务逻辑中看到这个错误,或者mysql中使用update语句更新数据报错:Lockwaittimeoutexceeded;tryrestartingtransaction。也就是遇到了mysql死锁,等待资源,事务锁的问题。可能原因:意外处理没有关闭连接,导致连接过多、或是要更新的表的锁在其它线程手里、系统异常导致事务未提交,再次请求相同记录等等。InnoDB关于在出现锁等待的时候,会根据参数i

Spring boot 事务无效,报错:Transaction not enabled

问题描述使用springboot+mybatisplus时添加的事务不生效,并且有些方法操作会出现如下异常:c.a.m.s.i.SubscriptionsStatsServiceImpl[SqlHelper.java:179]SqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@7f63bdb9]Transactionnotenabled问题排查追踪SqlHelper类,找到报错的位置,如下:可以看到只有批量插入才会报错,单条插入不报错。报错是因为得不到事务标识,猜测可能是事务注解没生效。事务使用方法查找springbo

SQLite 错误 : cannot commit transaction - SQL statements in progress using Java Code

尽管我没有使用任何明确的AutoCommittrue或false,但我遇到了SQLite错误。任何人都可以提供有关此错误的任何输入。在什么情况下会出现此错误。提前致谢。问候,马纳斯保存 最佳答案 当我在一个循环遍历表条目的循环中时,我反复遇到类似的问题(在我的例子中,这是不可能的回滚)。只要游标正在处理条目,SQL语句就在“进行中”。我不确定这是否也禁止提交,但有可能。当您尝试在同一个或不同的表中处理表条目和插入条目时,您可能想要尝试在内存中收集数据,并在循环之后执行插入或更新。附加信息:“自动提交”在SQLite中通常默认为“Tr