草庐IT

transaction_payment

全部标签

python - SQLAlchemy+ Tornado : can't reconnect until invalid transaction is rolled back

我正在用tornado+sqlalchemy构建一个webapp并且绝对随机我得到了这个错误File"/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py",line1024,in_handle_dbapi_exceptionexc_infoFile"/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py",line187,inraise_from_causereraise(type(exception),exception,tb=exc_tb,cause=exc_va

python - sqlalchemy、postgresql 和关系卡在 "idle in transaction"

我有一个与sqlalchemy和postgresql相关的问题。classProfile(Base):...roles=relationship('Role',secondary=role_profiles,backref='profiles',lazy='dynamic')运行时(current_user是Profile类的一个实例):roles=current_user.roles.filter().all()使用sqlalchemy我得到idleintransaction用于读取postgresql中的配置文件的所有选择。编辑:通过回显查询,我看到每个选择都以:BEGIN(imp

python - 在 django 中引发异常的 transaction.rollback() 的正确方法

我正在使用Django1.7.1和python2.7,我正在做一些需要在事务内的POST请求,实际上我正在使用@transaction.atomic()装饰器,它使整个函数都在事务中。据我所知,这个装饰器类似于commit_on_success并在出现数据库错误时进行回滚。是否可以引发自定义异常,使事务回滚但不使用保存点?我想在回滚完成时返回一个HttpResponse,解释事务未完成的原因。我有这个。@transaction.atomic()defsalida_de_almacen(request):ifrequest.method=='POST':try:folio=request

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

Android Binder机制浅谈以及使用Binder进行跨进程通信的俩种方式(AIDL以及直接利用Binder的transact方法实现)

Binder机制学习Binder机制是Android进行IPC(进程间通信)的主要方式Binder跨进程通信机制:基于C/S架构,由Client、Server、ServerManager和Binder驱动组成。进程空间分为用户空间和内核空间。用户空间不可以进行数据交互;内核空间可以进行数据交互,所有进程共用一个内核空间Client、Server、ServiceManager均在用户空间中实现,而Binder驱动程序则是在内核空间中实现的;·为何新增Binder来作为主要的IPC方式Android也是基于Linux内核,Linux现有的进程通信手段有管道/消息队列/共享内存/套接字/信号量。既然

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