Esempio n. 1
0
	def start_import(self):

		from frappe.core.page.background_jobs.background_jobs import get_info
		from frappe.utils.scheduler import is_scheduler_inactive

		if is_scheduler_inactive() and not frappe.flags.in_test:
			frappe.throw(
				_("Scheduler is inactive. Cannot import data."), title=_("Scheduler Inactive")
			)

		enqueued_jobs = [d.get("job_name") for d in get_info()]

		if self.name not in enqueued_jobs:
			enqueue(
				start_import,
				queue="default",
				timeout=6000,
				event="data_import",
				job_name=self.name,
				data_import=self.name,
				bank_account=self.bank_account,
				import_file_path=self.import_file,
				bank=self.bank,
				template_options=self.template_options,
				now=frappe.conf.developer_mode or frappe.flags.in_test,
			)
			return True

		return False
Esempio n. 2
0
def import_data(data_import):
    frappe.db.set_value("Data Import Legacy",
                        data_import,
                        "import_status",
                        "In Progress",
                        update_modified=False)
    frappe.publish_realtime("data_import_progress", {
        "progress": "0",
        "data_import": data_import,
        "reload": True
    },
                            user=frappe.session.user)

    from frappe.core.page.background_jobs.background_jobs import get_info
    enqueued_jobs = [d.get("job_name") for d in get_info()]

    if data_import not in enqueued_jobs:
        enqueue(upload,
                queue='default',
                timeout=6000,
                event='data_import',
                job_name=data_import,
                data_import_doc=data_import,
                from_data_import="Yes",
                user=frappe.session.user)
Esempio n. 3
0
def import_data(data_import):
	frappe.db.set_value("Data Import", data_import, "import_status", "In Progress", update_modified=False)
	frappe.publish_realtime("data_import_progress", {"progress": "0",
		"data_import": data_import, "reload": True}, user=frappe.session.user)
	from frappe.core.page.background_jobs.background_jobs import get_info
	enqueued_jobs = [d.get("job_name") for d in get_info()]
	if data_import not in enqueued_jobs:
		enqueue(upload, queue='default', timeout=6000, event='data_import', job_name=data_import,
			data_import_doc=data_import, from_data_import="Yes", user=frappe.session.user)
Esempio n. 4
0
 def bulk_create_obp_records(self):
     enqueued_jobs = [d.get("job_name") for d in get_info()]
     if self.name in enqueued_jobs:
         frappe.throw(
             _("OBP record creation already in progress. Please wait for sometime."
               ))
     else:
         enqueue(create_obp_records,
                 queue="default",
                 timeout=6000,
                 event="obp_record_creation",
                 job_name=self.name,
                 doc=self)
         frappe.throw(
             _("OBP record creation job added to queue. Please check after sometime."
               ))
def rematch_results(uploaded_doc_name):
    job_name = uploaded_doc_name + 'Rematch Results'
    enqueued_jobs = [d.get("job_name") for d in get_info()]
    if job_name in enqueued_jobs:
        frappe.msgprint(
            _("Rematching already in progress. Please wait for sometime."))
    else:
        enqueue(link_documents,
                queue="default",
                timeout=6000,
                event='link_documents',
                uploaded_doc_name=uploaded_doc_name,
                job_name=job_name)
        frappe.msgprint(
            _("Rematching job added to the queue. Please check after sometime."
              ))
Esempio n. 6
0
    def start_import(self):
        if frappe.utils.scheduler.is_scheduler_inactive():
            frappe.throw(_("Scheduler is inactive. Cannot import data."),
                         title=_("Scheduler Inactive"))

        enqueued_jobs = [d.get("job_name") for d in get_info()]

        if self.name not in enqueued_jobs:
            enqueue(
                start_import,
                queue="default",
                timeout=6000,
                event="data_import",
                job_name=self.name,
                data_import=self.name,
                now=frappe.conf.developer_mode or frappe.flags.in_test,
            )
 def after_insert(self):
     enqueued_jobs = [d.get("job_name") for d in get_info()]
     json_data = frappe.get_file_json(frappe.local.site_path +
                                      self.cf_upload_gstr_2b_data)
     if self.name in enqueued_jobs:
         frappe.msgprint(
             _("Create GSTR 2B entries already in progress. Please wait for sometime."
               ))
     else:
         enqueue(create_gstr2b_entries,
                 queue="default",
                 timeout=6000,
                 event='create_gstr2b_entries',
                 json_data=json_data,
                 doc=self,
                 job_name=self.name)
         frappe.msgprint(
             _("Create GSTR 2B entries job added to the queue. Please check after sometime."
               ))
    def make_invoices(self):
        self.validate_company()
        invoices = self.get_invoices()
        if len(invoices) < 50:
            return start_import(invoices)
        else:
            from frappe.core.page.background_jobs.background_jobs import get_info
            from frappe.utils.scheduler import is_scheduler_inactive

            if is_scheduler_inactive() and not frappe.flags.in_test:
                frappe.throw(_("Scheduler is inactive. Cannot import data."),
                             title=_("Scheduler Inactive"))

            enqueued_jobs = [d.get("job_name") for d in get_info()]
            if self.name not in enqueued_jobs:
                enqueue(start_import,
                        queue="default",
                        timeout=6000,
                        event="opening_invoice_creation",
                        job_name=self.name,
                        invoices=invoices,
                        now=frappe.conf.developer_mode or frappe.flags.in_test)
Esempio n. 9
0
	def start_merge(self):
		from frappe.core.page.background_jobs.background_jobs import get_info
		from frappe.utils.background_jobs import enqueue
		from frappe.utils.scheduler import is_scheduler_inactive

		if is_scheduler_inactive() and not frappe.flags.in_test:
			frappe.throw(_("Scheduler is inactive. Cannot merge accounts."), title=_("Scheduler Inactive"))

		enqueued_jobs = [d.get("job_name") for d in get_info()]

		if self.name not in enqueued_jobs:
			enqueue(
				start_merge,
				queue="default",
				timeout=6000,
				event="ledger_merge",
				job_name=self.name,
				docname=self.name,
				now=frappe.conf.developer_mode or frappe.flags.in_test,
			)
			return True

		return False
Esempio n. 10
0
    def start_import(self):

        preview = frappe.get_doc("Bank Statement Import",
                                 self.name).get_preview_from_template(
                                     self.import_file, self.google_sheets_url)

        if 'Bank Account' not in json.dumps(preview['columns']):
            frappe.throw(_("Please add the Bank Account column"))

        from frappe.core.page.background_jobs.background_jobs import get_info
        from frappe.utils.scheduler import is_scheduler_inactive

        if is_scheduler_inactive() and not frappe.flags.in_test:
            frappe.throw(_("Scheduler is inactive. Cannot import data."),
                         title=_("Scheduler Inactive"))

        enqueued_jobs = [d.get("job_name") for d in get_info()]

        if self.name not in enqueued_jobs:
            enqueue(
                start_import,
                queue="default",
                timeout=6000,
                event="data_import",
                job_name=self.name,
                data_import=self.name,
                bank_account=self.bank_account,
                import_file_path=self.import_file,
                google_sheets_url=self.google_sheets_url,
                bank=self.bank,
                template_options=self.template_options,
                now=frappe.conf.developer_mode or frappe.flags.in_test,
            )
            return True

        return False
Esempio n. 11
0
def job_already_enqueued(job_name):
    enqueued_jobs = [d.get("job_name") for d in get_info()]
    if job_name in enqueued_jobs:
        return True
Esempio n. 12
0
def get_job_queue(job_name):
    queue_info = get_info()
    queue_by_job_name = [
        queue for queue in queue_info if queue.get("job_name") == job_name
    ]
    return queue_by_job_name