API使用手册 ============== .. module:: sae.deferredjob .. py:class:: MySQLImport(storage_domain, filename, table_name='', callback_url='') MySQL导入任务类 :param storage_domain: 存放导入文件的storage的domain名称 :param filename: 导入文件名称,格式:prefix[.format][.compression],例:abc.csv.zip,服务根据format来判断数据类型,数据类型包括sql/csv :param table_name: 导入数据库使用的表名 :param callback_url: 可选,任务成功时,调用的回调url,只支持应用默认版本中的url,为空时,不执行回调url .. py:class:: MySQLExport(storage_domain, filename, table_name='', callback_url='') MySQL导出任务类 :param storage_domain: 存放导出文件的storage的domain名称 :param filename: 导出文件名称,格式:prefix[.format][.compression],例:abc.csv.zip,服务根据format来判断数据类型,数据类型包括sql/csv :param table_name: 导出数据库使用的表名 :param callback_url: 可选,任务成功时,调用的回调url,只支持应用默认版本中的url,为空时,不执行回调url .. py:class:: DeferredJob() DeferredJob类 .. py:method:: add(job) 添加一个任务 :param job: 需要添加的任务 :returns: 调用成功时返回添加的任务id .. py:method:: status(job_id) 获取任务状态 :param job_id: 需要获取的任务的id :returns: 调用成功时返回任务的状态:未进入队列:waiting;等待执行:inqueue;执行中:excuting;完成:done;失败:abort .. py:method:: delete(job_id) 删除任务 :param job_id: 需要删除的任务的id :returns: 调用成功时返回True .. py:function:: add(job) 快速添加任务 :param job: 需要添加的任务 :returns: 调用成功时返回添加的任务id 使用示例 =========== 1. 添加一个MySQL导入任务 :: from sae.deferredjob import MySQLImport, DeferredJob deferred_job = DeferredJob() job = MySQLImport('storage_test', 'test.sql.zip', 'test', '/job_done') deferred_job.add(job) 2. 添加一个MySQL导出任务 :: from sae.deferredjob import MySQLExport, DeferredJob deferred_job = DeferredJob() job = MySQLExport('storage_test', 'test.sql.zip', 'test', '/job_done') deferred_job.add(job) 3. 获取任务的状态 :: from sae.deferredjob import DeferredJob deferred_job = DeferredJob() print deferred_job.status(19999) 4. 删除一个任务 :: from sae.deferredjob import DeferredJob deferred_job = DeferredJob() print deferred_job.delete(19999) 5. 快速添加一个任务 :: from sae.deferredjob import add, MySQLImport job = MySQLImport('storage_test', 'test.sql.zip', 'test', '/job_done') add(job)