<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start_worker(self):
 """Trigger new process as a RQ worker."""

        if not self.include_rq:
            return None

        worker = Worker(queues=self.queues,
                        connection=self.connection)
        worker_pid_path = current_app.config.get(
            "{}_WORKER_PID".format(self.config_prefix), 'rl_worker.pid'
        )

        try:
            worker_pid_file = open(worker_pid_path, 'r')
            worker_pid = int(worker_pid_file.read())
            print("Worker already started with PID=%d" % worker_pid)
            worker_pid_file.close()

            return worker_pid

        except (IOError, TypeError):
            self.worker_process = Process(target=worker_wrapper, kwargs={
                'worker_instance': worker,
                'pid_path': worker_pid_path
            })
            self.worker_process.start()
            worker_pid_file = open(worker_pid_path, 'w')
            worker_pid_file.write("%d" % self.worker_process.pid)
            worker_pid_file.close()

            print("Start a worker process with PID=%d" %
                  self.worker_process.pid)

            return self.worker_process.pid