sql >> Database >  >> RDS >> Mysql

MySQL-doelen in de Luigi-workflow

De bestaande MySqlTarget in luigi gebruikt een aparte markeringstabel om aan te geven wanneer de taak is voltooid. Dit is de ruwe benadering die ik zou nemen... maar je vraag is erg abstract, dus het is waarschijnlijk ingewikkelder in werkelijkheid.

import luigi
from datetime import datetime
from luigi.contrib.mysqldb import MySqlTarget


class TaskA(luigi.Task):
    rundate = luigi.DateParameter(default=datetime.now().date())
    target_table = "table_to_update"
    host = "localhost:3306"
    db = "db_to_use"
    user = "user_to_use"
    pw = "pw_to_use"

    def get_target(self):
        return MySqlTarget(host=self.host, database=self.db, user=self.user, password=self.pw, table=self.target_table,
                           update_id=str(self.rundate))

    def requires(self):
        return []

    def output(self):
        return self.get_target()

    def run(self):
        #update table
        self.get_target().touch()


class TaskB(luigi.Task):
    def requires(self):
        return [TaskA()]

    def run(self):
        # reading from target_table



  1. XML-gegevens ontleden met behulp van php om in mysql-database te plaatsen

  2. Fout:SQLSTATE[42000]:Syntaxisfout of toegangsfout met cakePHP

  3. Hoe de codering van de sjabloondatabaseverzameling te wijzigen

  4. BIGINT Out-of-range-fout sinds MySQL 5.5